source: trunk/ccl/ChangeLog @ 7226

Last change on this file since 7226 was 7226, 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.6 KB
Line 
12007-09-15 17:10  gb
2
3        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
4        -LENGTH* when printing break messages.
5
62007-09-13 20:10  gb
7
8        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
9        :element-type to ccl:run-program to allow for binary streams
10
112007-09-13 06:55  gb
12
13        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
14        src/elisp/README, src/spell/README: Restore some README files,
15        which had somehow gotten lost in translation.
16
172007-09-13 06:54  gb
18
19        *
20        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
21        ib/: classes.nib, info.nib, keyedobjects.nib: not used
22
232007-09-13 06:52  gb
24
25        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
26        for certain kinds of MULTIPLE-VALUE-CALL differently; in
27        particular, note the effect of pushing such a label on stack depth.
28
292007-09-13 06:50  gb
30
31        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
32        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
33        containing directory exists in cvs.
34
352007-09-06 14:10  gb
36
37        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
38        write-info-plist
39
402007-09-04 23:11  gb
41
42        * cocoa-ide/cocoa-editor.lisp: New! Improved!
43       
44        The code which arranges for editing changes to be processed in the
45        main thread now does so via an NSInvocation (ObjC's notion of a
46        closure, sort of); the methods which run in the main thread handle
47        the job of synchronizing the underlying the Hemlock string and the
48        "real" NSMutableAttributedString as well as informing the text
49        system of pending editing changes via
50        #/edited:range:changeInLength:.  The code which processes deletions
51        does the change processing before modifying the string (other
52        methods do it after the change); this seems to be necessary to
53        avoid some things that could cause ticket:50.  (I'm not sure if
54        this fixes ticket:50, but it does seem to fix a reproducible case.)
55       
56        The #/replaceCharactersInRange:withString: method on
57        hemlock-text-storage (which handles buffer changes originating from
58        non-Hemlock sources) is careful to use a :right-inserting temporary
59        mark when modifying the buffer, to help ensure that
60        insertions/deletions take place at the correct absolute position.
61        (This may at least partially address bugs related to things getting
62        confused/out-of-bounds errors when doing lots of cutting and
63        pasting, though it's hard to know without reproducible cases.)
64       
65        The macros NSSTRING-ENCODING-TO-NSINTEGER and
66        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
67        least one of them wasn't.)
68       
69        The handling of text encoding for editor documents has changed in a
70        few ways.  If "automatic" encoding is used in an "Open ..." dialog
71        and is successfully able to infer a text file's encoding, the
72        encoding that was inferred becomes the document's encoding (used in
73        subsequent "save" operations.)  On some OSX versions, the automatic
74        detection mechanism can only recognize UTF-16 files that contain a
75        leading BOM (and the editor's code for dealing with the automatic
76        mechanism didn't expect this to ever work.)  On other systems, the
77        automatic mechanism can return something correct (I've seen UTF-8)
78        but possibly suboptimal.
79       
80        The Open... dialog now defaults to something derived from the
81        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
82        "automatic" is a little unpredictable, the new default is probably
83        better.
84       
85        The NSDocument mechanism for creating backup files (with names of
86        the form "name~.ext") is not used; when backup files are created,
87        we try to copy the original to a file whose name conforms to the
88        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
89        seem to work better when the Emacs scheme is used (though I suppose
90        some people might prefer the NSDocument scheme and we could make
91        this a preference.)
92
932007-09-04 22:11  gb
94
95        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
96        creating a Listener, since (a) that method's deprecated in favor of
97        #/setFileURL: and (b) a newly-created Listener doesn't really have
98        an associated filename, and so shouldn't get the icon and popup in
99        its titlebar.
100       
101        Do arrange that (unless/until a listener document is saved to a
102        file) its window title is based on the underlying Hemlock buffer's
103        name.  (If one ever attempts to save a listener document, the
104        proposed file name is the internal NSDocument name; we might or
105        might not want to change that.)
106
1072007-09-04 22:10  gb
108
109        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
110        *MODELINE-FONT-NAME*, -SIZE*.
111
1122007-09-04 19:13  gb
113
114        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
115        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
116        which was supposed to allow us to track the high end of a range of
117        pages that'd been written to and not freed (so we'd zero them
118        lazily when they were reallocated.)  Such a scheme would really
119        need to track both ends of such a range, and the old scheme wound
120        up being overly zealous and often zeroed pages that were already
121        zeroed.  Zero the range between the old free pointer and the new
122        one after each GC, instead.
123       
124        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
125        carefully.
126
1272007-09-04 19:12  gb
128
129        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
130        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
131
1322007-09-04 19:11  gb
133
134        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
135        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
136        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
137        this in the PPC backends.
138       
139        (This needs testing ...)
140
1412007-09-04 19:10  gb
142
143        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
144        :single-float callback results have been coerced to :double-float
145        on x8664.
146
1472007-09-03 18:10  gb
148
149        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
150        selection or the symbol around point, regardless of global parsing
151        state (Ticket:95).  While in there, make meta-. with a numarg
152        prompt for symbol to look up.
153
1542007-08-30 20:10  gb
155
156        * level-1/l1-error-system.lisp: Add a restart for unbound
157        variable/undefined function errors -- if there is a unique
158        bound/fbound symbol of the same name in another package, offer to
159        use it instead.
160
1612007-08-30 19:10  gb
162
163        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
164        inaccesible files; it might return an exit status of 2 if it finds
165        such files, so treat that as "success" for now (ticket:98).
166
1672007-08-30 18:11  gb
168
169        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
170        Variable command output (ticket:97).
171
1722007-08-30 18:10  gb
173
174        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
175        VARIABLE-VALUE to access buffer's package (ticket:82).
176
1772007-08-30 15:11  gb
178
179        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
180        code to copy user-supplied nibfiles into a saved application bundle
181
1822007-08-30 14:10  gb
183
184        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
185        all callers of current-point-for-deletion handle the nil return
186        value case.  This fixes ticket:85
187
1882007-08-29 20:11  gb
189
190        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
191        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
192        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
193        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
194        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
195        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
196        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
197        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
198        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
199        hemlock/src/fill.lisp, hemlock/src/font.lisp,
200        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
201        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
202        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
203        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
204        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
205        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
206        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
207        hemlock/src/macros.lisp, hemlock/src/main.lisp,
208        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
209        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
210        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
211        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
212        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
213        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
214        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
215        hemlock/src/text.lisp, hemlock/src/undo.lisp,
216        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
217        hemlock/src/archive/auto-save.lisp,
218        hemlock/src/archive/bit-display.lisp,
219        hemlock/src/archive/bit-screen.lisp,
220        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
221        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
222        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
223        hemlock/src/archive/eval-server.lisp,
224        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
225        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
226        hemlock/src/archive/lisp-lib.lisp,
227        hemlock/src/archive/lispbuf.lisp,
228        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
229        hemlock/src/archive/netnews.lisp,
230        hemlock/src/archive/overwrite.lisp,
231        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
232        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
233        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
234        hemlock/src/archive/spell-corr.lisp,
235        hemlock/src/archive/spell-rt.lisp,
236        hemlock/src/archive/spellcoms.lisp,
237        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
238        hemlock/src/archive/ts-stream.lisp,
239        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
240        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
241        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
242        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
243        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
244        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
245        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
246        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
247        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
248        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
249        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
250        hemlock/website/index.html.in: umm, load cocoa-grep where it will
251        work...
252
2532007-08-29 20:10  gb
254
255        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
256
2572007-08-29 13:11  gb
258
259        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
260
2612007-08-29 12:12  gb
262
263        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
264        arg (simple case), move point to the location of the temporary mark
265        after calling the indent function.
266
2672007-08-29 12:11  gb
268
269        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
270        returns 2 values: the "column" (with tabs expanded) of the first
271        non-whitespace character on the line and that character's position.
272         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
273        position if no changes are necessary.
274
2752007-08-29 12:10  gb
276
277        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
278        method, make an NS-MUTABLE-STRING even if the string from the
279        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
280        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
281         mutable.) For ticket:84.
282
2832007-08-28 23:10  gb
284
285        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
286        hi::scroll-window actually scroll, not just move insertion point
287        around.  Fixes ticket:88.
288
2892007-08-26 13:11  gb
290
291        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
292        keyword argument to build-application: main-nib-name; names the
293        nigfile that is to be the main nib of the built application
294
2952007-08-26 12:10  gb
296
297        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
298        application bulder to trunk
299
3002007-08-25 02:13  gb
301
302        * cocoa-ide/cocoa-listener.lisp:
303        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
304        #\^d after sending the string.  (This is just a workaround for
305        ticket:82; the trailing #\^d is just treated as whitespace and
306        terminates calls to READ.  We really want some way of recognizing
307        "end of selection" and treating that like a transient EOF in some
308        cases.)
309
3102007-08-25 02:12  gb
311
312        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
313        #/openDocumentWithContentsOfURL:display:error:, since calling
314        #/openDocumentWithContentsOfURL:display: complains that
315        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
316        Cocoa.  (Note that we'd been calling
317        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
318        implementation without incident.)
319
3202007-08-25 02:11  gb
321
322        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
323        notes buffer modification.
324
3252007-08-25 02:10  gb
326
327        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
328        modification.
329
3302007-08-23 17:17  gb
331
332        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
333        method.
334
3352007-08-23 17:16  gb
336
337        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
338        #/editingInProgress method.  Add some more (conditionalized) debug
339        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
340        command thread as well as in Cocoa thread.  Make sure that Hemlock
341        command thread has bindings of command-processing data structures,
342        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
343        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
344        only set by isearch when it exits.
345
3462007-08-23 17:15  gb
347
348        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
349        font name and size; initially, Monaco 9.  (Not yet changeable
350        through preferences panel.) Adjust outline view's row height based
351        on font height.  Set the data cell to "non-editable" (could have
352        done this in IB).  Provide handlers for some menu commands
353        (continue, restarts, exitBreak); no need to validate menu items for
354        them (those commands should be available whenever backtrace dialog
355        is active.)
356
3572007-08-23 17:14  gb
358
359        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
360        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
361
3622007-08-23 17:13  gb
363
364        * cocoa-ide/hemlock/src/package.lisp: Export
365        RECURSIVE-GET-KEY-EVENT.
366
3672007-08-23 17:12  gb
368
369        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
370        read symbol for arglist.  (Should probably be more careful
371        elsewhere, too.)
372
3732007-08-23 17:11  gb
374
375        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
376        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
377        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
378
3792007-08-23 17:10  gb
380
381        * cocoa-ide/hemlock/src/echo.lisp: Don't call
382        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
383        still be pending on the echo area (how ?), and
384        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
385        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
386
3872007-08-23 16:11  gb
388
389        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
390        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
391        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
392        events in some modal loop in a command.  (The idea is that toplevel
393        editing commands inhibit redisplay in the main buffer while they're
394        active; commands which recursively process key events and which may
395        make changes to that buffer should allow redisplay while they're
396        waiting in RECURSIVE-GET-KEY-EVENT.)
397
3982007-08-23 16:10  gb
399
400        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
401        revert.
402
4032007-08-18 19:11  gb
404
405        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
406        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
407        race conditions where two threads try to update a distpatch table
408        index with different {wrapper, combined-method} pairs at the same
409        time.  (As it's written, if the store-conditional fails because a
410        slot that we thought was free is now in use, we simply don't cache
411        the pair and get a cache miss the next time; that may or may not be
412        more work than repeating the whole process would be.)
413       
414        The store-conditional is used on attempt to update the
415        combined-method slot in the pair; the wrapper slot is only updated
416        if the store-conditional succeeds.  Code which probes the wrapper
417        slots shouldn't be confused by a half-updated pair (should never
418        see a non-null wrapper slot and a null combined-method slot.)
419
4202007-08-18 17:11  gb
421
422        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
423        %DECODE-TYPE.
424
4252007-08-18 16:10  gb
426
427        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
428        determine if selection highlighting can be used, since
429        #_class_respondsToSelector requires ObjC-2.0)
430
4312007-08-16 08:22  gb
432
433        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
434        extended selection highlighting if it's supported.
435       
436        Clear the shift bit from key events associated with standard-chars.
437
4382007-08-16 08:20  gb
439
440        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
441        bound to movement commands run different commands.
442       
443        Left-mouse has the :mouse-exit logical attribute.
444
4452007-08-16 08:19  gb
446
447        * cocoa-ide/hemlock/src/buffer.lisp:
448        CURRENT-POINT-COLLAPSING-SELECTION and
449        CURRENT-POINT-EXTENDING-SELECTION replace
450        CURRENT-POINT-FOR-MOVEMENT.
451
4522007-08-16 08:18  gb
453
454        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
455        translation.
456       
457        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
458        selection highlighting under Leopard.
459
4602007-08-16 08:16  gb
461
462        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
463        "shifted" and "unshifted" variants.
464
4652007-08-16 08:15  gb
466
467        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
468        attribute.
469
4702007-08-16 08:14  gb
471
472        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
473        bit for standard-char (and upper-case.) This means that
474        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
475        (in which the shift modifier isn't explicitly set) and that
476        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
477        modifier is set in the latter.)
478
4792007-08-16 08:13  gb
480
481        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
482        the buffer if the line's already indented properly.
483       
484        Movement commands come in two variants: those that collapse and
485        those that extend the selection.
486
4872007-08-16 08:12  gb
488
489        * cocoa-ide/hemlock/src/package.lisp: Export
490        CURRENT-POINT-EXTENDING-SELECTION and
491        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
492        CURRENT-POINT-FOR-MOVEMENT.
493
4942007-08-16 08:10  gb
495
496        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
497        empatically (under Leopard) after successful (non incremental)
498        search.
499       
500        Incremental search also hilites the selection, but doesn't yet
501        manage the selection on failure.
502
5032007-08-16 07:10  gb
504
505        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
506        by invoking #/activateHemlockView on main thread; call
507        deactivate-hemlock-view on the peer.
508       
509        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
510        but I'm fairly sure that this stuff needs to happen on the main
511        thread.
512
5132007-08-09 16:10  gb
514
515        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
516        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
517
5182007-08-07 15:10  gb
519
520        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
521        beginning of buffer and end of buffer.  It's Mac standard, and I
522        use it a lot.  Home was bound to "Help".
523       
524        Make clicking the mouse while incremental searching exit instead of
525        abort, leaving the insertion point where you click instead of where
526        the isearch was started.
527
5282007-08-06 23:10  gb
529
530        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
531        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
532        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
533        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
534        hemlock key event, set the hemlock shift bit if the the Cocoa shift
535        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
536        bit cleared and the keysym downcased (if necessary).  Leave
537        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
538        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
539        deactivates the region ("collapses the selection") if the shift bit
540        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
541        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
542        hopefully all) movement commands, to address ticket:36 .  Define a
543        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
544        to it to address ticket:44 .
545
5462007-08-06 19:10  gb
547
548        * objc-bridge/objc-support.lisp: careful with db stuff
549
5502007-08-04 13:12  gb
551
552        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
553        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
554         (Should maybe do this on mousedown in the echo area, too.) Some
555        indentation changes.
556
5572007-08-04 12:14  gb
558
559        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
560        :abort key event.
561
5622007-08-04 12:13  gb
563
564        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
565        title for show lossage command.
566
5672007-08-04 12:12  gb
568
569        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
570        left mouse down, so that we can use #k"leftdown".
571
5722007-08-04 12:11  gb
573
574        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
575
5762007-08-03 15:10  gb
577
578        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
579
5802007-08-03 10:10  gb
581
582        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
583        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
584
5852007-08-03 09:10  gb
586
587        * level-0/l0-array.lisp: Define list-to-vector.
588
5892007-08-02 07:16  gb
590
591        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
592        #/changeFont:; use targeted messages.  Ensure that font panel picks
593        up the right font.
594
5952007-08-02 07:16  gb
596
597        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
598        default.
599
6002007-08-02 07:15  gb
601
602        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
603        view, echo area) unselectable when activating via Hemlock command.
604        Text views don't use font panel by default; enable/disable font
605        panel when setting text color.
606
6072007-08-02 07:14  gb
608
609        * cocoa-ide/.cvsignore: New.
610
6112007-08-02 07:13  gb
612
613        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
614        CREATE-INTERFACES.
615
6162007-08-02 07:12  gb
617
618        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
619
6202007-08-02 07:11  gb
621
622        * library/parse-ffi.lisp: Don't be verbose about explict struct
623        returns.
624
6252007-08-02 07:10  gb
626
627        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
628        anymore.
629
6302007-07-31 19:10  gb
631
632        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
633        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
634
6352007-07-31 07:12  gb
636
637        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
638        to #o644 (not #o666); make sure that it's actually used when
639        creating the image (even if not prepending a kernel to the image.)
640
6412007-07-31 07:11  gb
642
643        * level-1/l1-application.lisp: When processing --version option,
644        don't write to *terminal-io* (which doesn't exist yet.)
645
6462007-07-22 23:50  gb
647
648        * release-notes.txt: Add more stuff.
649
6502007-07-22 23:11  gb
651
652        * level-1/version.lisp: Bump.
653
6542007-07-22 23:10  gb
655
656        * release-notes.txt: Update for 1.1-pre-070722.
657
6582007-07-22 21:11  gb
659
660        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
661
6622007-07-22 21:10  gb
663
664        * cocoa-ide/README: New file.
665
6662007-07-22 18:51  gb
667
668        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
669        package.
670
6712007-07-22 18:50  gb
672
673        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
674
6752007-07-22 18:49  gb
676
677        * level-1/version.lisp: Bump.
678
6792007-07-22 18:48  gb
680
681        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
682        Allocate callback trampolines via mmap on ppc, too.
683
6842007-07-22 18:47  gb
685
686        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
687        RUN-PROGRAM to merge-pathnames.
688
6892007-07-22 18:46  gb
690
691        * level-1/l1-utils.lisp: Don't define BEEP.
692
6932007-07-22 18:46  gb
694
695        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
696        was counting chars (nchars) twice.
697
6982007-07-22 18:45  gb
699
700        * level-1/l1-streams.lisp: selection-stream changes.
701
7022007-07-22 18:44  gb
703
704        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
705        about restarts in backtrace context.
706
7072007-07-22 18:43  gb
708
709        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
710        can be overridden.
711
7122007-07-22 18:42  gb
713
714        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
715        *MODULE-SEARCH-PATH*.
716
7172007-07-22 18:41  gb
718
719        * level-1/l1-format.lisp: Handling of * format directive when
720        dealing with circularity screws up other things that expect
721        *FORMAT-ARGUMENTS* to share structure with
722        *FORMAT-ORIGINAL-ARGUMENTS*.
723
7242007-07-22 18:40  gb
725
726        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
727        ENSURE-DIRECTORY-NAMESTRING.
728
7292007-07-22 18:40  gb
730
731        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
732        interactive break.
733
7342007-07-22 18:39  gb
735
736        * level-1/l1-error-system.lisp: Stream error context stuff.
737
7382007-07-22 18:38  gb
739
740        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
741        (e.g., as NSExceptions.)
742
7432007-07-22 18:37  gb
744
745        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
746        CLASS-SLOT-INITARGS.
747
7482007-07-22 18:36  gb
749
750        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
751        allocation stuff (which uses mmap to ensure that the callback is in
752        executable memory) here, since it'll be needed on ppc64 leopard, at
753        least.
754
7552007-07-22 18:35  gb
756
757        * level-1/l1-application.lisp: Argument handling and interactive
758        stream initialization happens in a :before method on
759        (toplevel-function application).
760
7612007-07-22 18:34  gb
762
763        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
764        special args/locals, too.
765
7662007-07-22 18:33  gb
767
768        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
769        for backtrace/inspect someday.
770
7712007-07-22 18:33  gb
772
773        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
774
7752007-07-22 18:32  gb
776
777        * lib/macros.lisp: Callbacks that try to do magic foreign error
778        stuff use HANDLER-BIND, not HANDLER-CASE.
779       
780        Other callback-changes to reduce incidental consing sometimes.
781
7822007-07-22 18:31  gb
783
784        * lib/backtrace.lisp: %show-args-and-locals,
785        %stack-frames-in-context: changes for new backtrace presentation.
786
7872007-07-22 18:30  gb
788
789        * lib/compile-ccl.lisp: Remove some duplicate definitions.
790
7912007-07-22 18:29  gb
792
793        * lib/describe.lisp: Some (signigicant) stack-frame changes.
794
7952007-07-22 18:28  gb
796
797        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
798
7992007-07-22 18:27  gb
800
801        * lib/arglist.lisp: Provide -some- arglist info for special
802        operators.  ARG-NAMES-FROM-MAP.
803
8042007-07-22 18:27  gb
805
806        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
807
8082007-07-22 18:26  gb
809
810        * lib/source-files.lisp: Comment formatting.
811
8122007-07-22 18:25  gb
813
814        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
815        to provide context.
816
8172007-07-22 18:24  gb
818
819        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
820        get confused by null register values, etc.
821
8222007-07-22 18:23  gb
823
824        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
825        not ppc32/ppc64.
826
8272007-07-22 18:22  gb
828
829        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
830        64-bit key-scrambling stuff.
831
8322007-07-22 18:21  gb
833
834        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
835
8362007-07-22 18:21  gb
837
838        * level-0/l0-utils.lisp: s32->u32, u32->s32.
839
8402007-07-22 18:20  gb
841
842        * level-0/l0-error.lisp: foreign exception error stuff.
843
8442007-07-22 18:19  gb
845
846        * level-1/l1-sockets.lisp: Sockets created with :format :binary
847        don't have element-type of character, though this crap is all
848        pretty nebulous.
849
8502007-07-22 18:18  gb
851
852        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
853
8542007-07-22 18:17  gb
855
856        * library/pty.lisp: set-pty-raw.
857
8582007-07-22 18:16  gb
859
860        * library/hemlock.lisp: Moved elsewhere.
861
8622007-07-22 18:15  gb
863
864        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
865        frames.
866
8672007-07-22 18:14  gb
868
869        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
870
8712007-07-22 18:14  gb
872
873        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
874        exception bit on interrupt.
875
8762007-07-22 18:13  gb
877
878        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
879        tcr flag bits, including new one for foreign exceptions.
880
8812007-07-22 18:12  gb
882
883        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
884
8852007-07-22 18:11  gb
886
887        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
888        exceptions.
889
8902007-07-22 18:10  gb
891
892        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
893        stack for pthread.  Foreign exception callbacks: put some 0s on the
894        stack for callback.
895
8962007-07-22 18:09  gb
897
898        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
899
9002007-07-22 18:08  gb
901
902        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
903        ensure_stack_limit(): if stack size is constrained by limits, don't
904        exceed those limits.
905
9062007-07-22 18:08  gb
907
908        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
909
9102007-07-22 18:07  gb
911
912        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
913
9142007-07-22 18:06  gb
915
916        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
917
9182007-07-22 18:03  gb
919
920        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
921        OpenMCL.app/Contents/MacOS/dppccl,
922        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
923        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
924        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
925        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
926        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
927        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
928        ib,
929        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
930        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
931        cts.nib,
932        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
933        lasses.nib,
934        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
935        nfo.nib,
936        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
937        eyedobjects.nib,
938        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
939        nib,
940        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
941        ,
942        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
943        ects.nib,
944        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
945        .nib,
946        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
947        b,
948        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
949        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
950        OpenMCL.app/Contents/Resources/Help/index.html,
951        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
952        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
953        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
954        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
955        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
956        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
957        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
958        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
959        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
960        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
961        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
962        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
963        rings,
964        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
965        /classes.nib,
966        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
967        /info.nib,
968        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
969        /keyedobjects.nib,
970        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
971        ctor.nib/classes.nib,
972        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
973        ctor.nib/info.nib,
974        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
975        ctor.nib/keyedobjects.nib,
976        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
977        b/classes.nib,
978        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
979        b/info.nib,
980        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
981        b/keyedobjects.nib,
982        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
983        ib/classes.nib,
984        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
985        ib/info.nib,
986        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
987        ib/keyedobjects.nib,
988        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
989        ib/classes.nib,
990        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
991        ib/info.nib,
992        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
993        ib/keyedobjects.nib,
994        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
995        nib/classes.nib,
996        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
997        nib/info.nib,
998        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
999        nib/keyedobjects.nib,
1000        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1001        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1002        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1003        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1004        cocoa-ide/hemlock/hemlock11.cursor,
1005        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1006        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1007        cocoa-ide/hemlock/doc/.cvsignore,
1008        cocoa-ide/hemlock/doc/cim/.cvsignore,
1009        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1010        cocoa-ide/hemlock/doc/cim/cim.mss,
1011        cocoa-ide/hemlock/doc/misc/.cvsignore,
1012        cocoa-ide/hemlock/doc/misc/compilation.order,
1013        cocoa-ide/hemlock/doc/misc/hemlock.log,
1014        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1015        cocoa-ide/hemlock/doc/misc/notes.txt,
1016        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1017        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1018        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1019        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1020        cocoa-ide/hemlock/doc/user/.cvsignore,
1021        cocoa-ide/hemlock/doc/user/commands.mss,
1022        cocoa-ide/hemlock/doc/user/intro.mss,
1023        cocoa-ide/hemlock/doc/user/lisp.mss,
1024        cocoa-ide/hemlock/doc/user/mail.mss,
1025        cocoa-ide/hemlock/doc/user/netnews.mss,
1026        cocoa-ide/hemlock/doc/user/special-modes.mss,
1027        cocoa-ide/hemlock/doc/user/user.mss,
1028        cocoa-ide/hemlock/maint/.cvsignore,
1029        cocoa-ide/hemlock/maint/publish,
1030        cocoa-ide/hemlock/resources/.cvsignore,
1031        cocoa-ide/hemlock/resources/XKeysymDB,
1032        cocoa-ide/hemlock/resources/mh-scan,
1033        cocoa-ide/hemlock/resources/spell-dictionary.text,
1034        cocoa-ide/hemlock/src/.cvsignore,
1035        cocoa-ide/hemlock/src/bindings-gb.lisp,
1036        cocoa-ide/hemlock/src/bindings.lisp,
1037        cocoa-ide/hemlock/src/buffer.lisp,
1038        cocoa-ide/hemlock/src/charmacs.lisp,
1039        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1040        cocoa-ide/hemlock/src/command.lisp,
1041        cocoa-ide/hemlock/src/comments.lisp,
1042        cocoa-ide/hemlock/src/completion.lisp,
1043        cocoa-ide/hemlock/src/cursor.lisp,
1044        cocoa-ide/hemlock/src/decls.lisp,
1045        cocoa-ide/hemlock/src/defsyn.lisp,
1046        cocoa-ide/hemlock/src/doccoms.lisp,
1047        cocoa-ide/hemlock/src/echo.lisp,
1048        cocoa-ide/hemlock/src/echocoms.lisp,
1049        cocoa-ide/hemlock/src/edit-defs.lisp,
1050        cocoa-ide/hemlock/src/filecoms.lisp,
1051        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1052        cocoa-ide/hemlock/src/font.lisp,
1053        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1054        cocoa-ide/hemlock/src/htext1.lisp,
1055        cocoa-ide/hemlock/src/htext2.lisp,
1056        cocoa-ide/hemlock/src/htext3.lisp,
1057        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1058        cocoa-ide/hemlock/src/indent.lisp,
1059        cocoa-ide/hemlock/src/interp.lisp,
1060        cocoa-ide/hemlock/src/kbdmac.lisp,
1061        cocoa-ide/hemlock/src/key-event.lisp,
1062        cocoa-ide/hemlock/src/keysym-defs.lisp,
1063        cocoa-ide/hemlock/src/killcoms.lisp,
1064        cocoa-ide/hemlock/src/line.lisp,
1065        cocoa-ide/hemlock/src/linimage.lisp,
1066        cocoa-ide/hemlock/src/lispdep.lisp,
1067        cocoa-ide/hemlock/src/lispmode.lisp,
1068        cocoa-ide/hemlock/src/listener.lisp,
1069        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1070        cocoa-ide/hemlock/src/modeline.lisp,
1071        cocoa-ide/hemlock/src/morecoms.lisp,
1072        cocoa-ide/hemlock/src/package.lisp,
1073        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1074        cocoa-ide/hemlock/src/register.lisp,
1075        cocoa-ide/hemlock/src/ring.lisp,
1076        cocoa-ide/hemlock/src/rompsite.lisp,
1077        cocoa-ide/hemlock/src/search1.lisp,
1078        cocoa-ide/hemlock/src/search2.lisp,
1079        cocoa-ide/hemlock/src/searchcoms.lisp,
1080        cocoa-ide/hemlock/src/srccom.lisp,
1081        cocoa-ide/hemlock/src/streams.lisp,
1082        cocoa-ide/hemlock/src/struct.lisp,
1083        cocoa-ide/hemlock/src/syntax.lisp,
1084        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1085        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1086        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1087        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1088        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1089        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1090        cocoa-ide/hemlock/src/archive/bufed.lisp,
1091        cocoa-ide/hemlock/src/archive/debug.lisp,
1092        cocoa-ide/hemlock/src/archive/dired.lisp,
1093        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1094        cocoa-ide/hemlock/src/archive/display.lisp,
1095        cocoa-ide/hemlock/src/archive/dylan.lisp,
1096        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1097        cocoa-ide/hemlock/src/archive/group.lisp,
1098        cocoa-ide/hemlock/src/archive/highlight.lisp,
1099        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1100        cocoa-ide/hemlock/src/archive/input.lisp,
1101        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1102        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1103        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1104        cocoa-ide/hemlock/src/archive/mh.lisp,
1105        cocoa-ide/hemlock/src/archive/netnews.lisp,
1106        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1107        cocoa-ide/hemlock/src/archive/pascal.lisp,
1108        cocoa-ide/hemlock/src/archive/rcs.lisp,
1109        cocoa-ide/hemlock/src/archive/screen.lisp,
1110        cocoa-ide/hemlock/src/archive/scribe.lisp,
1111        cocoa-ide/hemlock/src/archive/shell.lisp,
1112        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1113        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1114        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1115        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1116        cocoa-ide/hemlock/src/archive/srccom.lisp,
1117        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1118        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1119        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1120        cocoa-ide/hemlock/src/archive/window.lisp,
1121        cocoa-ide/hemlock/src/archive/winimage.lisp,
1122        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1123        cocoa-ide/hemlock/src/elisp/.cvsignore,
1124        cocoa-ide/hemlock/src/elisp/base.lisp,
1125        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1126        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1127        cocoa-ide/hemlock/src/elisp/compile.lisp,
1128        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1129        cocoa-ide/hemlock/src/elisp/implementation-needed,
1130        cocoa-ide/hemlock/src/elisp/internals.lisp,
1131        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1132        cocoa-ide/hemlock/src/elisp/packages.lisp,
1133        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1134        cocoa-ide/hemlock/src/spell/.cvsignore,
1135        cocoa-ide/hemlock/src/spell/build.lisp,
1136        cocoa-ide/hemlock/src/spell/classes.lisp,
1137        cocoa-ide/hemlock/src/spell/constants.lisp,
1138        cocoa-ide/hemlock/src/spell/correlate.lisp,
1139        cocoa-ide/hemlock/src/spell/flags.lisp,
1140        cocoa-ide/hemlock/src/spell/hashing.lisp,
1141        cocoa-ide/hemlock/src/spell/io.lisp,
1142        cocoa-ide/hemlock/src/spell/package.lisp,
1143        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1144        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1145        cocoa-ide/hemlock/src/spell/spell.asd,
1146        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1147        cocoa-ide/hemlock/src/tty/.cvsignore,
1148        cocoa-ide/hemlock/src/tty/termcap.lisp,
1149        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1150        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1151        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1152        cocoa-ide/hemlock/src/wire/.cvsignore,
1153        cocoa-ide/hemlock/src/wire/Notes,
1154        cocoa-ide/hemlock/src/wire/package.lisp,
1155        cocoa-ide/hemlock/src/wire/port.lisp,
1156        cocoa-ide/hemlock/src/wire/remote.lisp,
1157        cocoa-ide/hemlock/src/wire/wire.lisp,
1158        cocoa-ide/hemlock/unused/.cvsignore,
1159        cocoa-ide/hemlock/unused/bit-stream.lisp,
1160        cocoa-ide/hemlock/unused/clx-ext.lisp,
1161        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1162        cocoa-ide/hemlock/unused/gosmacs.lisp,
1163        cocoa-ide/hemlock/unused/hacks.lisp,
1164        cocoa-ide/hemlock/unused/hemcom.lisp,
1165        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1166        cocoa-ide/hemlock/unused/keytran.lisp,
1167        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1168        cocoa-ide/hemlock/unused/spell-build.lisp,
1169        cocoa-ide/hemlock/unused/struct-ed.lisp,
1170        cocoa-ide/hemlock/unused/tty-stream.lisp,
1171        cocoa-ide/hemlock/website/.cvsignore,
1172        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1173        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1174        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1175        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1176        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1177        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1178        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1179        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1180        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1181        examples/objc-clos.lisp, examples/objc-package.lisp,
1182        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1183        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1184        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1185        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1186        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1187        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1188        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1189        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1190        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1191        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1192        hemlock/doc/misc/perq-hemlock.log,
1193        hemlock/doc/misc/things-to-do.txt,
1194        hemlock/doc/scribe-converter/.cvsignore,
1195        hemlock/doc/scribe-converter/NOTES,
1196        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1197        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1198        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1199        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1200        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1201        hemlock/maint/publish, hemlock/resources/.cvsignore,
1202        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1203        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1204        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1205        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1206        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1207        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1208        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1209        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1210        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1211        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1212        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1213        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1214        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1215        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1216        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1217        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1218        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1219        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1220        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1221        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1222        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1223        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1224        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1225        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1226        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1227        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1228        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1229        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1230        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1231        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1232        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1233        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1234        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1235        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1236        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1237        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1238        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1239        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1240        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1241        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1242        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1243        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1244        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1245        hemlock/src/table.lisp, hemlock/src/text.lisp,
1246        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1247        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1248        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1249        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1250        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1251        hemlock/src/elisp/base.lisp,
1252        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1253        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1254        hemlock/src/elisp/hemlock-shims.lisp,
1255        hemlock/src/elisp/implementation-needed,
1256        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1257        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1258        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1259        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1260        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1261        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1262        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1263        hemlock/src/spell/spell-aug.lisp,
1264        hemlock/src/spell/spell-dictionary.text,
1265        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1266        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1267        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1268        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1269        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1270        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1271        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1272        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1273        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1274        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1275        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1276        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1277        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1278        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1279        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1280        objc-bridge/fake-cfbundle-path.lisp,
1281        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1282        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1283        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1284        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1285        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1286        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1287        things moved from "examples" to one of these directories,
1288        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1289        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1290        "ide-1.0" branch for details.
1291
12922007-06-15 19:10  gb
1293
1294        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1295
12962007-06-15 14:10  gb
1297
1298        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1299        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1300        (shouldn't get here if we're catching that upstream, but ...)
1301
13022007-06-01 08:34  gb
1303
1304        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1305        caught most places.
1306
13072007-06-01 08:33  gb
1308
1309        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1310        if it can't find the package, accepts a stream argument in order to
1311        signal that type of error.  (Note that this has never been
1312        recoverable in general, especially in the case where the input
1313        stream is *terminal-io* or shares its input stream.)
1314
13152007-06-01 08:32  gb
1316
1317        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1318        reporting themselves.
1319
13202007-06-01 08:31  gb
1321
1322        * level-1/l1-error-system.lisp: Define and use
1323        STREAM-ERROR-CONTEXT.
1324
13252007-06-01 08:30  gb
1326
1327        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1328        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1329        probably have been caught earlier.
1330
13312007-06-01 08:29  gb
1332
1333        * level-1/l1-streams.lisp: Try to provide some context -
1334        "surrounding characters" - for reader/stream errors on character
1335        input streams.
1336
13372007-06-01 08:28  gb
1338
1339        * level-1/l1-unicode.lisp: Get number of args right in call to
1340        STRING-ENCODED-LENGTH-IN-BYTES from
1341        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1342
13432007-06-01 08:28  gb
1344
1345        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1346        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1347        order.  Both functions are usually open-coded (and the inlined
1348        versions seem to be OK), but the ObjC bridge funcalls these
1349        functions when getting/setting foreign slots of the appropriate
1350        type.
1351
13522007-06-01 08:27  gb
1353
1354        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1355        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1356        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1357
13582007-06-01 08:26  gb
1359
1360        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1361        all of it" case in %CSTR-POINTER; deal with all other cases in
1362        %CSTR-SEGMENT-POINTER.
1363
13642007-06-01 08:25  gb
1365
1366        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1367        under return address, exception callback frame (xcf) on stack.
1368       
1369        handle-udf-call: don't try to fix up the stack if we try to
1370        continue; let kernel deal with this after the callback.
1371
13722007-06-01 08:24  gb
1373
1374        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1375        return address on the top of the stack when this is entered
1376        (#-of-arguments traps).  Put it in the right place when building
1377        the frame.
1378       
1379        create_exception_callback_frame: look for tra on top of lisp stack,
1380        not in register (usually.)
1381       
1382        handle_error(): if we return after calling out for int #xc7 (call
1383        to undefined function), fix up the stack and other registers so
1384        that we can return the value(s) returned by the lisp-side handler.
1385        (It's hard for the lisp-side handler to do the stack manipulation,
1386        because of the xcf on the stack and because of the need to deal
1387        with the return address on the stack.)
1388
13892007-06-01 08:23  gb
1390
1391        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1392        lea/jmp: push ra0 on stack before trap, for the benefit of
1393        create_exception_callback_frame().
1394
13952007-06-01 08:22  gb
1396
1397        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1398
13992007-06-01 08:22  gb
1400
1401        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1402        write a BOM here.
1403
14042007-06-01 08:21  gb
1405
1406        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1407        since the switch to the new tra scheme.
1408
14092007-06-01 08:19  gb
1410
1411        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1412        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1413
14142007-05-12 18:27  gb
1415
1416        * release-notes.txt: Update for 070512.
1417
14182007-05-12 18:27  gb
1419
1420        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1421
14222007-05-12 18:26  gb
1423
1424        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1425
14262007-05-12 18:25  gb
1427
1428        * level-1/version.lisp: Bump.
1429
14302007-05-12 18:24  gb
1431
1432        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1433        heap by more than what we need if GC is obviously disabled.
1434
14352007-05-12 18:23  gb
1436
1437        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1438        suppress overflow checking in some cases.
1439
14402007-05-12 18:22  gb
1441
1442        * compiler/X86/x862.lisp: Fix indentation.
1443
14442007-05-12 18:22  gb
1445
1446        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1447        beyond segment if GC (obviously) disabled.
1448
14492007-05-12 18:21  gb
1450
1451        * level-1/l1-streams.lisp: Fix typo.
1452
14532007-05-12 18:20  gb
1454
1455        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1456        separate character encode/decode limits.
1457
14582007-05-12 18:19  gb
1459
1460        * level-1/l1-unicode.lisp: Start to bootstrap separate
1461        encode/decode limits.
1462
14632007-05-12 18:18  gb
1464
1465        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1466        nonsense when referencing mxcsr in debug_show_fpu().
1467
14682007-05-12 18:17  gb
1469
1470        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1471        earlier.  Sheesh.
1472
14732007-05-12 18:17  gb
1474
1475        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1476
14772007-05-12 18:16  gb
1478
1479        * level-1/version.lisp: Bump, for now.
1480
14812007-05-12 18:15  gb
1482
1483        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1484        ABI version.
1485
14862007-05-12 18:14  gb
1487
1488        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1489        new TRA interpretation.
1490
14912007-05-12 18:13  gb
1492
1493        * lisp-kernel/x86-spjump64.s: nmkunwind.
1494
14952007-05-12 18:12  gb
1496
1497        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1498        nMake_Catch handles return addresses on stack.  repret, for use
1499        when a one-byte ret instruction is a branch target or is preceded
1500        by a conditional branch.
1501
15022007-05-12 18:11  gb
1503
1504        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1505        exception contexts.
1506
15072007-05-12 18:11  gb
1508
1509        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1510        exception context; new TRA handling.
1511
15122007-05-12 18:10  gb
1513
1514        * lisp-kernel/x86-exceptions.c: New tra handling.
1515        new_heap_segment: try to avoid requesting too much when user sets
1516        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1517        down to fault handler, don't call out to lisp on faults in foreign
1518        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1519
15202007-05-12 18:08  gb
1521
1522        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1523        assignments.
1524
15252007-05-12 18:07  gb
1526
1527        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1528        sequence.
1529
15302007-05-12 18:06  gb
1531
1532        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1533
15342007-05-12 18:05  gb
1535
1536        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1537        that're branch targets or that follow conditional branches.
1538
15392007-05-12 18:04  gb
1540
1541        * lisp-kernel/thread_manager.c: Conditionalize for
1542        USE_MACH_EXCEPTION_LOCK.
1543
15442007-05-12 18:03  gb
1545
1546        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1547
15482007-05-12 18:02  gb
1549
1550        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1551        explicit blr.
1552
15532007-05-12 18:01  gb
1554
1555        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1556         Gee, I hope that works.
1557
15582007-05-12 18:00  gb
1559
1560        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1561
15622007-05-12 17:59  gb
1563
1564        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1565        using the mechanism.
1566
15672007-05-12 17:59  gb
1568
1569        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1570        extend with (possibly very large) lisp_heap_gc_threshold, try
1571        smaller values.
1572       
1573        Pass "old_valence" to exception handlers; don't call out to lisp on
1574        memory faults from foreign code.
1575
15762007-05-12 17:58  gb
1577
1578        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1579
15802007-05-12 17:57  gb
1581
1582        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1583        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1584        be correct/necessary.
1585
15862007-05-12 17:56  gb
1587
1588        * lisp-kernel/lisp-debug.c: lisp register display changes for
1589        x86-64.  Get FPU display working on x86-64.
1590
15912007-05-12 17:55  gb
1592
1593        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1594        calling-sequence change.
1595
15962007-05-12 17:54  gb
1597
1598        * lisp-kernel/image.h: New ABI version.
1599
16002007-05-12 17:54  gb
1601
1602        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1603        could; if only I could ...
1604
16052007-05-12 17:53  gb
1606
1607        * lib/x8664env.lisp: More imm temps! (one more ...).
1608
16092007-05-12 17:52  gb
1610
1611        * lib/nfcomp.lisp: Bump current fasl version.
1612
16132007-05-12 17:51  gb
1614
1615        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1616        in cross-compiled code.
1617
16182007-05-12 17:50  gb
1619
1620        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1621        interface dir, because of cross-compilation issues.
1622
16232007-05-12 17:49  gb
1624
1625        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1626        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1627
16282007-05-12 17:49  gb
1629
1630        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1631        transition.
1632
16332007-05-12 17:48  gb
1634
1635        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1636
16372007-05-12 17:47  gb
1638
1639        * lib/encapsulate.lisp: Add a comment.
1640
16412007-05-12 17:46  gb
1642
1643        * library/hash-cons.lisp: Very small lap change.
1644
16452007-05-12 17:45  gb
1646
1647        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1648        %FIXNUM-SET-MACPTR elsewhere.
1649
16502007-05-12 17:44  gb
1651
1652        * level-1/linux-files.lisp: File-mapped vectors.
1653
16542007-05-12 17:43  gb
1655
1656        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1657        :new-version if pathname-version of filename is :NEWEST.
1658
16592007-05-12 17:43  gb
1660
1661        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1662        with a CONDITION object.
1663
16642007-05-12 17:42  gb
1665
1666        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1667
16682007-05-12 17:41  gb
1669
1670        * level-1/l1-pathnames.lisp: If there's no host component in a
1671        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1672
16732007-05-12 17:40  gb
1674
1675        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1676        listener stack sizes now static.
1677
16782007-05-12 17:39  gb
1679
1680        * level-1/l1-files.lisp: Pathname arcana.
1681
16822007-05-12 17:38  gb
1683
1684        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1685        SIGINT.
1686
16872007-05-12 17:38  gb
1688
1689        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1690        changes.
1691
16922007-05-12 17:37  gb
1693
1694        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1695       
1696        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1697
16982007-05-12 17:36  gb
1699
1700        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1701
17022007-05-12 17:35  gb
1703
1704        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1705        here.
1706
17072007-05-12 17:34  gb
1708
1709        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1710
17112007-05-12 17:33  gb
1712
1713        * level-0/X86/x86-utils.lisp: New calling sequence.
1714
17152007-05-12 17:32  gb
1716
1717        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1718        EQL.
1719
17202007-05-12 17:32  gb
1721
1722        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1723        be careful with %rcx (now %imm2) in shift instructions.
1724
17252007-05-12 17:30  gb
1726
1727        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1728        sequence.
1729
17302007-05-12 17:29  gb
1731
1732        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1733        new-calling-sequence changes.
1734
17352007-05-12 17:27  gb
1736
1737        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1738        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1739        %temp2, and no need to be so careful with it.
1740
17412007-05-12 17:26  gb
1742
1743        * compiler/vinsn.lisp: global label-valued temporaries.
1744
17452007-05-12 17:25  gb
1746
1747        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1748
17492007-05-12 17:24  gb
1750
1751        * compiler/nx0.lisp: Try to do a little type inference for more
1752        flavors of AREF.
1753
17542007-05-12 17:23  gb
1755
1756        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1757        afunc (or equivalent) as a non-nil second value.
1758
17592007-05-12 17:22  gb
1760
1761        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1762        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1763        less nasty.
1764
17652007-05-12 17:21  gb
1766
1767        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1768        calling sequence, new tra/talign scheme.
1769
17702007-05-12 17:21  gb
1771
1772        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1773        rip)).
1774
17752007-05-12 17:20  gb
1776
1777        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1778        rip-relative label refs.
1779
17802007-05-12 17:19  gb
1781
1782        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1783        support :talign directive in vinsn templates.
1784
17852007-05-12 17:18  gb
1786
1787        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1788        is a register ...
1789
17902007-05-12 17:17  gb
1791
1792        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1793        for most things, except calls to subprims that manipulate the
1794        stack.
1795
17962007-05-12 17:16  gb
1797
1798        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1799        cross-compilation with x86-64 targets a little easier, by using a
1800        cross-ftd interface directory.
1801
18022007-05-12 17:16  gb
1803
1804        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1805        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1806        scheme.
1807
18082007-05-12 17:15  gb
1809
1810        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1811        unwind-protect uses nmkunwind (more happens out-of-line.)
1812
18132007-05-12 17:14  gb
1814
1815        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1816
18172007-05-12 17:13  gb
1818
1819        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1820
18212007-05-12 17:12  gb
1822
1823        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1824
18252007-05-12 17:11  gb
1826
1827        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1828        %GET-KERNEL-GLOBAL-PTR actually work.
1829
18302007-05-07 19:10  gb
1831
1832        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1833        returns a CONS, signal the right flavor of TYPE-ERROR if it
1834        doesn't.
1835
18362007-05-05 18:10  gb
1837
1838        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1839        the hash table, it tries to enable the GC before doing so.
1840
18412007-05-04 22:10  gb
1842
1843        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1844        finds in the environment, not just non-nil.
1845
18462007-05-01 18:10  gb
1847
1848        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1849        computation for GC-VERBOSE entry.
1850
18512007-05-01 06:11  gb
1852
1853        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1854        utf-16 variants.
1855       
1856        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1857        function.
1858
18592007-05-01 06:10  gb
1860
1861        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1862        darwin ppc64 thread state structure, just like Apple does.  Can I
1863        blame them for getting this wrong, please ?
1864       
1865        Use the right argument names in ppc64 cmain callback; can't blame
1866        Apple.
1867
18682007-04-30 23:12  gb
1869
1870        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1871        on Darwin, and should probably be removed completely.  Now that
1872        it's explicitly extern, don't try to reference it at runtime on
1873        linuxppc.
1874
18752007-04-30 23:11  gb
1876
1877        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1878        referenced at runtime and explicitly extern, so make sure that it's
1879        initialized on all platforms.
1880
18812007-04-30 23:10  gb
1882
1883        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1884        oxymoron - is specific to Darwin.
1885
18862007-04-21 00:10  gb
1887
1888        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1889        directory after translating logical pathnames; it's generally
1890        meaningless to do PROBE-FILE on the directory component of a
1891        logical pathname.
1892
18932007-04-19 15:10  gb
1894
1895        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1896        if it conflicts with an immediate temporary (we'll need all the imm
1897        temps we have on x86-64.)
1898
18992007-04-17 20:10  gb
1900
1901        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1902        version of recent aset2/aset3 register-conflict changes.
1903
19042007-04-16 15:10  gb
1905
1906        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1907        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1908
19092007-04-16 14:11  gb
1910
1911        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1912        :signed-doublewod.
1913
19142007-04-16 13:10  gb
1915
1916        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1917        Memory-fault errors on PPC, too.
1918
19192007-04-16 04:34  gb
1920
1921        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1922        renaming nonsense.
1923
19242007-04-16 02:12  gb
1925
1926        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1927
19282007-04-16 02:11  gb
1929
1930        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1931
19322007-04-16 02:10  gb
1933
1934        * level-1/l1-error-system.lisp: Change wording of
1935        INVALID-MEMORY-ACCESS error message, a little.
1936
19372007-04-16 01:13  gb
1938
1939        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1940        memory faults.
1941
19422007-04-16 01:12  gb
1943
1944        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1945        now.
1946
19472007-04-16 01:11  gb
1948
1949        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1950        INVALID-MEMORY-ACCESS condition.
1951
19522007-04-16 01:10  gb
1953
1954        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1955
19562007-04-15 19:11  gb
1957
1958        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1959        aset2/aset3 changes.
1960
19612007-04-15 19:10  gb
1962
1963        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1964        it's an imm-reg; we need another imm-reg to do some index
1965        calculations.
1966
19672007-04-14 18:10  gb
1968
1969        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
1970        unscramble what it means for an interrupt to be pending on x86-64.
1971
19722007-04-14 00:13  gb
1973
1974        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
1975        generated when it is in ... unmentionable OS releases.
1976
19772007-04-14 00:11  gb
1978
1979        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
1980        work around laughable Apple ld64 gibberish.
1981
19822007-04-12 02:11  gb
1983
1984        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
1985        two-dimensional arrays: need to target specific registers if array
1986        has element type T.
1987
19882007-04-12 02:10  gb
1989
1990        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
1991        appropriate, not :x86-64 twice.
1992
19932007-04-11 05:10  gb
1994
1995        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
1996        for bivalent streams.
1997       
1998        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
1999        maintain the element-type separately, just look in ioblock.
2000        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2001
20022007-04-10 22:10  gb
2003
2004        * lisp-kernel/x86-spentry64.s: Branch at
2005        C(egc_store_node_conditional_success_test) should bracnch
2006        backwards, not forwards.  (This was leading to spurious
2007        "<something> is not a proper list" errors, because the next label
2008        named "0" is in middle of the the _SPprogvsage code that tests for
2009        a proper list.)
2010
20112007-04-10 00:11  gb
2012
2013        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2014        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2015        RLET or equivalent to avoid making GCable pointers for ObjC
2016        dispatch function args; trust the compiler to do that for us.
2017
20182007-04-10 00:10  gb
2019
2020        * examples/bridge.lisp: If any method defined on a message passes a
2021        structure by value, install a compiler macro on the dispatch
2022        function.
2023       
2024        In that compiler, look for apparent calls to know structure
2025        constructors; replace those with calls to the corresponding
2026        initialization function, and stack-allocate a structure instance
2027        around the call.  (Suggested by Kevin Reid, and something that
2028        SEND/SLET did - sort of - that the new approach didn't.)
2029       
2030        Keep track of info about common foreign structs (initializer,
2031        constructor, etc.) to make doing stuff like this easier.
2032
20332007-04-09 16:10  gb
2034
2035        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2036        the result of sending the init message is a null pointer, return a
2037        null pointer.
2038
20392007-04-09 00:10  gb
2040
2041        * release-notes.txt: Update for 070408.
2042       
2043        (Yes, it's 070409 here already ...)
2044
20452007-04-08 15:12  gb
2046
2047        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2048
20492007-04-08 15:10  gb
2050
2051        * xdump/faslenv.lisp: Bump min fasl version.
2052
20532007-04-08 14:11  gb
2054
2055        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2056        jump table, to work around (still more) Apple ld64 nonsense.
2057
20582007-04-08 13:14  gb
2059
2060        * lib/nfcomp.lisp: Bump current fasl version.
2061
20622007-04-08 13:13  gb
2063
2064        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2065
20662007-04-08 13:12  gb
2067
2068        * xdump/faslenv.lisp: Bump max fasl version.
2069
20702007-04-08 13:11  gb
2071
2072        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2073        people who try to build this kernel on an x86 mac will take longer
2074        to realize that that's usually a bad idea.
2075
20762007-04-08 12:09  gb
2077
2078        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2079        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2080        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2081        cocoa-window.lisp, cocoa.lisp:
2082        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2083       
2084        Some changes in font, nsstring stuff to avoid using deprecated
2085        featurs.
2086
20872007-04-08 12:07  gb
2088
2089        * examples/: webkit.lisp, addressbook.lisp:
2090        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2091       
2092        Use OBJC:LOAD-FRAMEWORK.
2093
20942007-04-08 12:06  gb
2095
2096        * examples/tiny.lisp:
2097        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2098
20992007-04-08 12:05  gb
2100
2101        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2102        rubix.lisp:
2103        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2104       
2105        Handle CGFLOAT issues in mouse event handlers.
2106
21072007-04-08 12:04  gb
2108
2109        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2110       
2111        Define "foreign struct classes" for several common structure types
2112        (rectangle, point, size); generate inlined accessors for their
2113        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2114        macros.
2115       
2116        #/ reader macro: reads a string containing "constituent" characters
2117        (including #\:), preserving case.  Does a little bit of
2118        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2119        package.
2120       
2121        Try to deal with cases where foreign type info may be parsed or
2122        unparsed.
2123       
2124        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2125         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2126        message info, tries to determine ambiguity, calls signature
2127        function (possibly after trying to resolve ambiguity.)
2128       
2129        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2130        calling a signature function that knows how to dispatch to SUPER
2131        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2132       
2133        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2134        OBJC-DISPATCH-FUNCTION.
2135       
2136        Handle PROTOCOLs differently in ambiguous SEND.
2137
21382007-04-08 12:04  gb
2139
2140        * examples/objc-runtime.lisp: Compile message send functions per
2141        signature.  Handle vararg message sends, partly at runtime.  INIT
2142        messages just have their signature info precomputed.  Defining a
2143        named OBJC-CLASS makes the class name a static variable whose value
2144        is the class (and likewise for the metaclass.)
2145        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2146        OBJC:DEFMETHOD and support for it.
2147
21482007-04-08 12:03  gb
2149
2150        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2151         Avoid some deprecated C-string stuff (but wimp out and assume
2152        ASCII.) Keep track of objc-class-count, provide
2153        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2154        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2155        etc. elsewhere.
2156
21572007-04-08 12:02  gb
2158
2159        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2160        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2161        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2162        about as lightweight as MAKE-OBJC-INSTANCE.)
2163
21642007-04-08 12:01  gb
2165
2166        * examples/name-translation.lisp:
2167        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2168        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2169
21702007-04-08 12:00  gb
2171
2172        * examples/objc-package.lisp: New file; export more stuff.  Import
2173        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2174        pseudo-GFs.
2175
21762007-04-08 11:59  gb
2177
2178        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2179        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2180        Intern integer types up to 64 bits.
2181
21822007-04-08 11:59  gb
2183
2184        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2185        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2186        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2187        COPY-RECORD.
2188
21892007-04-08 11:58  gb
2190
2191        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2192        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2193        missing brackets.
2194
21952007-04-08 11:57  gb
2196
2197        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2198        not Darwin.  In Darwin, evactuate off of the lisp stack while
2199        interrupts are still disabled.
2200
22012007-04-08 11:56  gb
2202
2203        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2204        (where Apple hasn't yet invented the notion that it needs to be
2205        thread-specific.)
2206
22072007-04-08 11:55  gb
2208
2209        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2210        destroying TCR.
2211
22122007-04-08 11:54  gb
2213
2214        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2215        worked around an old Darwin bug.
2216
22172007-04-08 11:53  gb
2218
2219        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2220
22212007-04-08 11:52  gb
2222
2223        * lisp-kernel/image.c: Don't nuke null pointers.
2224
22252007-04-08 11:52  gb
2226
2227        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2228
22292007-04-08 11:51  gb
2230
2231        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2232        of macptr.domain, macptr.type.
2233
22342007-04-08 11:50  gb
2235
2236        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2237
22382007-04-08 11:49  gb
2239
2240        * library/lispequ.lisp: add pkg.intern-hook to package.
2241
22422007-04-08 11:48  gb
2243
2244        * lib/describe.lisp: Start trying to conditionalize some of the
2245        stack-frame inspector stuff.
2246
22472007-04-08 11:48  gb
2248
2249        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2250        64-bit word components, with FP fields passed in registers.  This
2251        requires some special handling ("hybrid" parameters) in the
2252        compiler and %FF-CALL.
2253
22542007-04-08 11:47  gb
2255
2256        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2257        endianness.
2258
22592007-04-08 11:46  gb
2260
2261        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2262
22632007-04-08 11:45  gb
2264
2265        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2266        in %SOURCE-FILES-LIKE-EM.
2267
22682007-04-08 11:44  gb
2269
2270        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2271
22722007-04-08 11:43  gb
2273
2274        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2275        MAKE-XREF-ENTRY.
2276
22772007-04-08 11:43  gb
2278
2279        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2280
22812007-04-08 11:42  gb
2282
2283        * level-1/version.lisp: Bump; new snapshots tomorrow.
2284
22852007-04-08 11:41  gb
2286
2287        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2288
22892007-04-08 11:40  gb
2290
2291        * level-1/linux-files.lisp: Very long timeout for
2292        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2293        if we have to wait at all.
2294       
2295        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2296       
2297        Make PIPE code slightly easier to read.
2298
22992007-04-08 11:39  gb
2300
2301        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2302
23032007-04-08 11:38  gb
2304
2305        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2306        CHARACTER-ENCODING, use it to determine number/sequence of octets
2307        used to encode NUL.
2308
23092007-04-08 11:38  gb
2310
2311        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2312       
2313        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2314        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2315        so that echoing looks more natural.
2316
23172007-04-08 11:37  gb
2318
2319        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2320        object.
2321
23222007-04-08 11:36  gb
2323
2324        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2325        changes manually and most of the effects were cosmetic.
2326        TOPLEVEL-PRINT takes an output stream arg.
2327
23282007-04-08 11:35  gb
2329
2330        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2331
23322007-04-08 11:34  gb
2333
2334        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2335        interrupt is obviously pending.
2336
23372007-04-08 11:33  gb
2338
2339        * level-1/l1-io.lisp: Change pointer printing.
2340
23412007-04-08 11:33  gb
2342
2343        * level-1/l1-init.lisp: +NULL-PTR+.
2344
23452007-04-08 11:31  gb
2346
2347        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2348        preferred name for DEFGLOBAL.
2349
23502007-04-08 11:30  gb
2351
2352        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2353        for DEFGLOBAL.
2354       
2355        Mechanism for associating a (built-in) class with a foreign type
2356        ordinal.
2357
23582007-04-08 11:29  gb
2359
2360        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2361        for DEFGLOBAL.
2362       
2363        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2364        likely the global value of some symbol.)
2365
23662007-04-08 11:28  gb
2367
2368        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2369        DEFGLOBAL.
2370       
2371        Standard CL streams now bound per-thread.
2372       
2373        Install standard foreign types here, not every time that
2374        FOREIGN-TYPES is loaded.
2375       
2376        Canonicalize foreign type ordinals as soon as we can.  (This is
2377        part of a scheme to give foreign types "ordinals' that can be used
2378        to assert pointer types; we need some of those ordinal numbers to
2379        be pre-assigned, since we can't reference foreign types early in
2380        the cold load.)
2381
23822007-04-08 11:27  gb
2383
2384        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2385        DEFGLOBAL.  GCABLE-PTR-P.
2386
23872007-04-07 21:25  gb
2388
2389        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2390         Handle maintenance of auto-export packages differently.
2391        $fasl-timm just needs an :int, not a :long.
2392
23932007-04-07 21:24  gb
2394
2395        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2396        "functional", not random symbol guts.
2397
23982007-04-07 21:23  gb
2399
2400        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2401        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2402        interrupts are re-enabled.
2403
24042007-04-07 21:22  gb
2405
2406        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2407
24082007-04-07 21:20  gb
2409
2410        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2411        %PTR-STORE-FIXNUM-CONDITIONAL.
2412
24132007-04-07 21:19  gb
2414
2415        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2416        in DarwinPPC64 #'%FF-CALL.
2417
24182007-04-07 21:19  gb
2419
2420        * compiler/optimizers.lisp: When trying to infer result type of
2421        MAKE-ARRAY call, unquote quoted type specifier.
2422       
2423        Strength-reduce FLOAT when second argument is of known type.
2424
24252007-04-07 21:18  gb
2426
2427        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2428
24292007-04-07 21:17  gb
2430
2431        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2432        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2433        Parse %short-float, %double-float when no "result" arg; can at
2434        least try to constant-fold late and/or do some cases if we have
2435        more type info.
2436
24372007-04-07 21:16  gb
2438
2439        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2440        be bound" error message.
2441
24422007-04-07 21:15  gb
2443
2444        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2445        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2446
24472007-04-07 21:14  gb
2448
2449        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2450        remaning GPR/FPR counts even if arg is "simple" and passes straight
2451        through to %FF-CALL.
2452
24532007-04-07 21:13  gb
2454
2455        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2456        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2457        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2458        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2459        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2460
24612007-04-07 21:12  gb
2462
2463        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2464        for Darwin structure-passing ABI.
2465
24662007-04-07 21:10  gb
2467
2468        * OpenMCL.app/Contents/Resources/English.lproj/:
2469        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2470        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2471        OpenmclInspector.nib/keyedobjects.nib,
2472        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2473        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2474        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2475        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2476        representation, not binary.
2477
24782007-04-06 22:10  gb
2479
2480        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2481        (RLIMIT_AS) current resource limit to max limit, since some distros
2482        limit it.
2483
24842007-04-03 03:11  gb
2485
2486        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2487        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2488
24892007-04-02 22:10  gb
2490
2491        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2492        arg in utf-16 encode, missing #x in little-endian bom-marker
2493        definition.)
2494
24952007-03-14 23:10  gb
2496
2497        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2498
24992007-03-14 05:11  gb
2500
2501        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2502        generate-callback-bindings.
2503
25042007-03-13 06:10  gb
2505
2506        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2507
25082007-03-13 03:58  gb
2509
2510        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2511
25122007-03-12 05:11  gb
2513
2514        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2515        little.
2516
25172007-03-12 05:10  gb
2518
2519        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2520        %EXTERNAL-CALL-EXPANDER.
2521
25222007-03-12 05:09  gb
2523
2524        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2525        encapsulation, and a lock.
2526
25272007-03-12 05:08  gb
2528
2529        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2530        thread-local.
2531
25322007-03-12 02:25  gb
2533
2534        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2535        deal with variations in Mach behavior: "exception" may be
2536        EXC_BAD_ACCESS when an illegal instruction causes a "general
2537        protection fault".
2538
25392007-03-09 15:56  gb
2540
2541        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2542        NIL ...)
2543
25442007-03-09 00:01  gb
2545
2546        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2547
25482007-03-09 00:00  gb
2549
2550        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2551        *OPEN-FILE-STREAMS*.
2552
25532007-03-09 00:00  gb
2554
2555        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2556        open-file-streams.
2557
25582007-03-08 23:59  gb
2559
2560        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2561        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2562
25632007-03-08 23:58  gb
2564
2565        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2566        associated with it.
2567
25682007-03-08 23:57  gb
2569
2570        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2571
25722007-03-08 23:47  gb
2573
2574        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2575        hash-table, it fills the hash-table vector with "free" markers.
2576        (There may already be lots of "deleted" markers in the table.)
2577
25782007-03-08 22:26  gb
2579
2580        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2581
25822007-03-08 22:24  gb
2583
2584        * lib/numbers.lisp: printing random-state: don't shift seeds.
2585
25862007-03-08 22:24  gb
2587
2588        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2589
25902007-03-08 22:24  gb
2591
2592        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2593
25942007-03-08 22:23  gb
2595
2596        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2597
25982007-03-08 22:23  gb
2599
2600        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2601        %next-random-pair.
2602
26032007-03-08 22:22  gb
2604
2605        * level-0/l0-numbers.lisp: And, while we're at it: do the
2606        next-random-seed permutation in %next-random-pair, which accepts
2607        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2608        in lisp on 64-bit platforms.
2609
26102007-03-08 22:20  gb
2611
2612        * level-0/l0-numbers.lisp: Don't shift random seeds.
2613
26142007-03-08 03:30  gb
2615
2616        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2617        rather than >= #x80, because of the new way that
2618        uuo-error-slot-unbound is encoded.
2619
26202007-03-08 03:28  gb
2621
2622        * compiler/X86/x86-disassemble.lisp: Recognize
2623        uuo-error-slot-unbound.
2624
26252007-03-08 03:28  gb
2626
2627        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2628        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2629
26302007-03-07 08:29  gb
2631
2632        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2633
26342007-03-07 07:45  gb
2635
2636        * level-1/linux-files.lisp: For #+linux-target, try to use
2637        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2638        if that fails.  (CPU-COUNT is called early in the cold load, before
2639        we can make the file-stream necessary to do the parsing.)
2640
26412007-03-07 07:33  gb
2642
2643        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2644        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2645
26462007-03-07 07:25  gb
2647
2648        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2649        el-bizarro syscall mask, pass the magic number 0x1e as a second
2650        arg, just in case.
2651
26522007-03-07 07:24  gb
2653
2654        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2655        before accessing *OPEN-FILE-STREAMS*.
2656
26572007-03-07 07:23  gb
2658
2659        * level-1/l1-readloop.lisp: Add comment about
2660        *OPEN-FILE-STREAMS-LOCK*.
2661
26622007-03-07 07:23  gb
2663
2664        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2665
26662007-03-07 07:21  gb
2667
2668        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2669        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2670
26712007-03-07 07:05  gb
2672
2673        * xdump/heap-image.lisp: Bump current image version.
2674
26752007-03-07 07:02  gb
2676
2677        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2678        "calls" want an argument in ecx.  Set that arg to 0 for now.
2679
26802007-03-07 07:01  gb
2681
2682        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2683        "real" locks; those updates can be simplified.
2684       
2685        lock_recursive_lock: no (ignored) timeout arg.
2686
26872007-03-07 06:59  gb
2688
2689        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2690        support the old one.
2691
26922007-03-07 06:59  gb
2693
2694        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2695        prototype.  Change declaration of LOCK macro: no null timespec
2696        required.  RECURSIVE_LOCKs have spinlock fields.
2697
26982007-03-07 06:56  gb
2699
2700        * level-1/version.lisp: bump, indicate work-in-progress development
2701        version.
2702
27032007-03-07 06:56  gb
2704
2705        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2706        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2707        rather than something lower-level.
2708
27092007-03-07 06:53  gb
2710
2711        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2712        to obtain them before yielding.
2713
27142007-03-07 06:52  gb
2715
2716        * level-0/l0-io.lisp: Move YIELD elsewhere.
2717
27182007-03-07 06:51  gb
2719
2720        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2721        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2722        layout.
2723
27242007-03-02 05:10  gb
2725
2726        * level-1/l1-application.lisp: Toplevel function: initial-listener
2727        class is 'TTY-LISTENER.
2728
27292007-03-02 05:09  gb
2730
2731        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2732        message.
2733
27342007-03-02 05:09  gb
2735
2736        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2737       
2738        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2739        For TTY-LISTENER, call QUIT.
2740
27412007-03-02 05:08  gb
2742
2743        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2744        EXIT-INTERACTIVE-PROCESS instead.
2745       
2746        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2747
27482007-03-02 05:06  gb
2749
2750        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2751
27522007-03-02 05:06  gb
2753
2754        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2755        of null pointers into body.
2756
27572007-03-02 05:05  gb
2758
2759        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2760        consus-interruptus.
2761
27622007-03-02 05:05  gb
2763
2764        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2765        <constant> if constant is of type <type>.)
2766       
2767        Do we need an ignore-errors here ? Or does <type> need to be
2768        defined ?
2769
27702007-03-02 05:03  gb
2771
2772        * compiler/X86/x862.lisp: Do the / * thing.
2773
27742007-03-02 05:02  gb
2775
2776        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2777        :call attribute.
2778
27792007-03-01 04:04  gb
2780
2781        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2782        new binding frame
2783
27842007-02-28 07:04  gb
2785
2786        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2787        rather than %rbp; trust callback_for_interrupt() to preserve it.
2788
27892007-02-28 07:03  gb
2790
2791        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2792        callback_for_interrupt().
2793
27942007-02-28 05:18  gb
2795
2796        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2797        counts) that may wind up on the vstack.
2798       
2799        Since those tiny things might be tagged as headers, walk the vstack
2800        with new "headerless" functions that ignore headers.
2801
28022007-02-28 05:16  gb
2803
2804        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2805        before the alloc trap and interrupting, back out of the
2806        modification to save_allocptr (and allocptr register) and set
2807        *interrupt_displacement.
2808
28092007-02-23 10:13  gb
2810
2811        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2812        only makes sense for cases where we have to guess; a bitfield
2813        that's 8 bits wide still has an alignment of 1.
2814       
2815        Factor in the alignment of the containing int when bitfields are
2816        involved.
2817       
2818        When parsing a record type, set the "bits" slot of each field.
2819        (Not too many things look at that slot, but we want the effect of
2820        loading a record from the database to match the effect of parsing a
2821        definition as exactly as possible, and to be able to use EQUALP to
2822        compare the results.)
2823
28242007-02-23 10:06  gb
2825
2826        * lib/db-io.lisp: Some extra fields in
2827        objc-message-info/objc-method-info structures.
2828       
2829        When calculating overall alignment of a structure, treat bitfields
2830        as if they were :unsigned-int (since there's a "containing"
2831        unsigned int that affects alignment.  N.B: this should be imposed
2832        for anything that has an alignment of 1, not just a size of 1.)
2833       
2834        When loading integer types, try to use the precomputed types rather
2835        than consing a new one.  This (a) reduces consing a little (b) is
2836        more likely to get the alignment correct.  For (b), we really need
2837        to distinguish between bitfields and addressable integers.
2838
28392007-02-23 09:30  gb
2840
2841        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2842
28432007-02-22 02:33  gb
2844
2845        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2846
28472007-02-22 02:28  gb
2848
2849        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2850        heap size right ...).
2851
28522007-02-22 02:27  gb
2853
2854        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2855        traditional (sysv) style of hash maps, if it understands that
2856        option.
2857
28582007-02-21 06:01  gb
2859
2860        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2861        has been consed since last GC.  (There are some fenceposts there.)
2862       
2863        verbose GC herald tries to indicate how much is allocated in the
2864        area being GCed.
2865
28662007-02-21 05:58  gb
2867
2868        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2869        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2870
28712007-02-21 05:57  gb
2872
2873        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2874        uuo-gc-trap.
2875
28762007-02-19 04:50  gb
2877
2878        * lib/foreign-types.lisp: Use keywords more consistently.
2879       
2880        (Note: there seems to be a bug which is keeping the cdb data
2881        structures from getting defined correctly at load time; the
2882        workaround is to compile foreign-types.lisp - which defines them -
2883        in the same session as and before db-io - which uses them - is
2884        compiled.)
2885
28862007-02-19 04:48  gb
2887
2888        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2889        error.
2890
28912007-02-19 04:42  gb
2892
2893        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2894        the error function.
2895
28962007-02-19 04:40  gb
2897
2898        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2899        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2900
29012007-02-19 04:40  gb
2902
2903        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2904        FUNCALLABLE-STANDARD-OBJECT.
2905       
2906        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2907        creating a GF.
2908
29092007-02-19 04:36  gb
2910
2911        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2912        funcallable-stanard-objects better.
2913
29142007-02-19 04:34  gb
2915
2916        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2917        CCL, OPENMCL-MOP.
2918
29192007-02-19 02:09  gb
2920
2921        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2922        FUNCALLABLE-STANDARD-CLASS.
2923
29242007-02-19 02:07  gb
2925
2926        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2927        error message.
2928
29292007-02-15 02:46  gb
2930
2931        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2932        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2933
29342007-02-15 02:45  gb
2935
2936        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2937        methods yet.
2938
29392007-02-14 02:39  gb
2940
2941        * release-notes.txt: Fix a typo.
2942
29432007-02-14 02:35  gb
2944
2945        * release-notes.txt: Update for 070214 snapshots.
2946
29472007-02-13 23:36  gb
2948
2949        * level-1/version.lisp: Bump.
2950
29512007-02-13 23:36  gb
2952
2953        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2954        image-abi-version.
2955
29562007-02-13 23:29  gb
2957
2958        * xdump/faslenv.lisp: Finish bumping fasl version.
2959
29602007-02-13 23:15  gb
2961
2962        * lib/nfcomp.lisp: Bump current fasl version.
2963
29642007-02-13 23:02  gb
2965
2966        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2967
29682007-02-13 22:45  gb
2969
2970        * xdump/faslenv.lisp: Start bumping fasl-version.
2971
29722007-02-13 22:41  gb
2973
2974        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
2975        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
2976
29772007-02-13 21:16  gb
2978
2979        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
2980        that contain incompatible definitions of some math library stuff
2981        ("log" either has to do with logarithms or logging ...).
2982
29832007-02-13 18:42  gb
2984
2985        * lib/misc.lisp: Change the way that TIME is reported by default:
2986        mention the number of available CPU cores, don't assume that
2987        there's that much of a relationship between CPU time and wall-clock
2988        time.
2989
29902007-02-13 18:41  gb
2991
2992        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
2993        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
2994        when :execute, too.
2995
29962007-02-13 18:35  gb
2997
2998        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
2999        offset arg is required.
3000
30012007-02-13 18:12  gb
3002
3003        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3004        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3005
30062007-02-13 18:10  gb
3007
3008        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3009        cons.)
3010
30112007-02-13 18:10  gb
3012
3013        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3014        are more/other float-size issues deeper down in the code.
3015
30162007-02-13 18:09  gb
3017
3018        * examples/objc-support.lisp: Fixup the x86-64 error-return
3019        callback trampiline code (was missing a byte of machine code.)
3020
30212007-02-13 18:08  gb
3022
3023        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3024        jmp-buf to safe/sane values.
3025
30262007-02-13 18:07  gb
3027
3028        * examples/cocoa-window.lisp: Don't change-class
3029        *cocoa-event-process* until we start to run the event loop.
3030       
3031        Don't do _deallocHardCore: explicitly.
3032
30332007-02-13 17:35  gb
3034
3035        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3036        DOUBLE-FLOAT aliases just one gpr.
3037
30382007-02-13 17:34  gb
3039
3040        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3041
30422007-02-13 17:34  gb
3043
3044        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3045        32-bit ints, not "long".
3046
30472007-02-13 17:33  gb
3048
3049        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3050        for each scalar, not each arg.
3051       
3052        Fix some backquoting/indentation.
3053
30542007-02-13 17:31  gb
3055
3056        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3057
30582007-02-12 16:23  gb
3059
3060        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3061
30622007-02-11 20:22  gb
3063
3064        * examples/bridge.lisp: method-typestring needs to be
3065        conditionalized.  How has this been working ?
3066
30672007-02-11 20:22  gb
3068
3069        * examples/cocoa-editor.lisp: remove some debugging code.
3070
30712007-02-11 20:21  gb
3072
3073        * examples/objc-runtime.lisp: %mlist-containing is
3074        #-apple-objc-2.0.
3075
30762007-02-11 20:21  gb
3077
3078        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3079
30802007-02-11 05:35  gb
3081
3082        * level-1/version.lisp: Bump.
3083
30842007-02-11 05:28  gb
3085
3086        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3087        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3088        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3089        an optional argument; default to the Tiger SDK.
3090
30912007-02-11 05:26  gb
3092
3093        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3094        an errror.
3095
30962007-02-11 05:26  gb
3097
3098        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3099        Leopard renaming.  Suffer.
3100
31012007-02-11 05:25  gb
3102
3103        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3104        an existing process (so that the listener process appears to be
3105        "persistent".)
3106
31072007-02-11 05:24  gb
3108
3109        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3110        make the initial-listener object persistent acrosss
3111        SAVE-APPLICATION.
3112
31132007-02-11 00:01  gb
3114
3115        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3116       
3117        Handle callback-error-returns on x86-64.
3118
31192007-02-11 00:00  gb
3120
3121        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3122        use %ptr<, to hide word-size differences.
3123       
3124        __NSConstantStringClassReference isn't what it used to be, so look
3125        up NSConstantStringClass the hard way.
3126       
3127        Handle ns-exception/lisp-error stuff on x86-64.
3128       
3129        Do arg/result coercions differently.  Does any code depend on
3130        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3131        MACPTRs).
3132       
3133        Use the new FFI interface for message-sends, callbacks to try to
3134        hide platform-specific ABI issues.
3135       
3136        The _deallocate-hook mechanism - which never really worked -
3137        probably can't work on Objc-2.0.
3138
31392007-02-10 23:54  gb
3140
3141        * examples/bridge.lisp: Make structure return-type explicit in
3142        objc-message-send calls in send/stret and variants.
3143
31442007-02-10 22:34  gb
3145
3146        * examples/cocoa-window.lisp: Some indentation changes and slight
3147        reorganization of the code; shouldn't be any functional/semantic
3148        changes.
3149
31502007-02-10 22:30  gb
3151
3152        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3153        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3154        appropriate; other changes for 64-bit platforms, Objc-2.0.
3155
31562007-02-10 22:28  gb
3157
3158        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3159        CG-FLOATs when appropriate.
3160
31612007-02-10 22:28  gb
3162
3163        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3164
31652007-02-10 22:28  gb
3166
3167        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3168
31692007-02-10 22:27  gb
3170
3171        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3172        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3173        ignore-errors when trying to parse the last arglist form as a
3174        foreign type.
3175
31762007-02-10 22:26  gb
3177
3178        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3179        expansion ...
3180
31812007-02-10 22:26  gb
3182
3183        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3184        use %rdx and %r11 to hold target address.
3185
31862007-02-10 22:23  gb
3187
3188        * library/pty.lisp: Unicode stuff when accessing control char
3189        array; conditionalize for #+darwin-target, not just
3190        #+darwinppc-target.
3191
31922007-02-10 22:22  gb
3193
3194        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3195        ppc-specific; the comment dated from the days of 68K MCL.)
3196
31972007-02-10 22:21  gb
3198
3199        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3200        return 32 bits at a time, to avoid consing little bignums.
3201
32022007-02-10 22:15  gb
3203
3204        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3205
32062007-02-10 22:15  gb
3207
3208        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3209        count, not total byte count.
3210       
3211        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3212        the PPC case, as well.)
3213
32142007-02-10 22:11  gb
3215
3216        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3217        "zero-extend-s8" vinsn, but there does need to be a
3218        "zero-extend-u8".
3219
32202007-02-10 05:38  gb
3221
3222        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3223        #'VALUES.
3224
32252007-02-10 05:38  gb
3226
3227        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3228        ARGLIST can say -something- about lap functions that don't take a
3229        fixed number of arguments.
3230
32312007-02-07 02:54  gb
3232
3233        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3234        "e".
3235
32362007-02-02 02:32  gb
3237
3238        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3239        objc-support.lisp: Start to integrate with FFI changes.  No more
3240        %SEND, process and precompile "init" messages when interfaces are
3241        accessed.  (Note: should try to handle varargs init messages, even
3242        if we have to call %FF-CALL at runtime.)
3243
32442007-02-02 02:31  gb
3245
3246        * examples/: addressbook.lisp, webkit.lisp: Change the
3247        initialization code a bit.
3248
32492007-02-02 02:27  gb
3250
3251        * lib/foreign-types.lisp: Try to fix another case involving
3252        "auxiliary types".
3253       
3254        I think that the concept of auxiliary types might make sense in a
3255        context like:
3256       
3257        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3258        (:struct :bar (:x :int) (:y :int)))))
3259       
3260        In that case, :struct :bar is local to the definition.  In the
3261        similar case:
3262       
3263        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3264        (:struct :bar))))
3265       
3266        :BAR is presumably defined (globally) elsewhere.
3267
32682007-02-02 02:17  gb
3269
3270        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3271         (Setting "SDK=" will hopefully work with older version of xcode.)
3272
32732007-02-02 02:15  gb
3274
3275        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3276
32772007-01-31 23:26  gb
3278
3279        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3280        argument in ppc2-poweropen-foreign-args.
3281
32822007-01-31 22:47  gb
3283
3284        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3285        components from registers.
3286
32872007-01-31 22:45  gb
3288
3289        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3290        brackets are returned verbatim, not downcased.
3291
32922007-01-31 22:44  gb
3293
3294        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3295        accepts :registers.
3296
32972007-01-31 16:36  gb
3298
3299        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3300        New (and, so far, useless) files.
3301
33022007-01-31 16:35  gb
3303
3304        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3305        seems to be 32-bit only.
3306
33072007-01-31 16:34  gb
3308
3309        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3310
33112007-01-31 16:34  gb
3312
3313        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3314
33152007-01-31 16:33  gb
3316
3317        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3318        missing cdb file: dog bytes man; missing parent directory is more
3319        newsworthy.
3320
33212007-01-31 15:38  gb
3322
3323        * library/chud-metering.lisp: Tweak a little, so that it might work
3324        on darwinppc64 (and on darwinx8664 when purify does something
3325        there.)
3326
33272007-01-31 15:06  gb
3328
3329        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3330
33312007-01-31 02:49  gb
3332
3333        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3334
33352007-01-30 22:53  gb
3336
3337        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3338        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3339        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3340        gl/.cvsignore: new files.
3341
33422007-01-30 22:21  gb
3343
3344        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3345        new files.
3346
33472007-01-30 21:58  gb
3348
3349        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3350
33512007-01-30 21:58  gb
3352
3353        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3354        file
3355
33562007-01-30 21:49  gb
3357
3358        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3359        fun!
3360
33612007-01-30 21:40  gb
3362
3363        * library/openmcl-gtk-support.lisp: Conditionalize out the
3364        event-polling task.
3365
33662007-01-30 21:36  gb
3367
3368        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3369        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3370        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3371
33722007-01-30 21:35  gb
3373
3374        * headers/gl/C/populate.sh: process glu.h
3375
33762007-01-30 17:47  gb
3377
3378        * library/parse-ffi.lisp: Always encode explicit structure-typed
3379        function return values.
3380       
3381        Note when we see one, for now.
3382
33832007-01-30 17:45  gb
3384
3385        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3386        leading argument to be paired with a structure-typed return-type.
3387
33882007-01-30 17:43  gb
3389
3390        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3391        the first-arg hack.
3392
33932007-01-30 17:42  gb
3394
3395        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3396        support the old version.
3397       
3398        Don't check the :struct-by-value flag when encoding function
3399        args/results.  (That decision's made above our pay grade now.)
3400       
3401        When reading a :struct/:union definition, try to update an existing
3402        defintion rather than consing up a new one (this matters if the
3403        record is anonymous.)
3404
34052007-01-30 17:39  gb
3406
3407        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3408        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3409        correctly.
3410       
3411        Fix c_socket for #+linuxppc.
3412
34132007-01-30 08:20  gb
3414
3415        * level-1/version.lisp: Bump.
3416
34172007-01-30 08:20  gb
3418
3419        * lib/compile-ccl.lisp: Use make -j to build kernel.
3420
34212007-01-30 07:02  gb
3422
3423        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3424        xmm0/xmm1.
3425
34262007-01-30 07:01  gb
3427
3428        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3429        day's work turned into 2 weeks, somehow.)
3430
34312007-01-30 07:00  gb
3432
3433        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3434        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3435        stuff for x8664 (all platfroms appear to use the same ABI.)
3436
34372007-01-30 03:26  gb
3438
3439        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3440        displacement in %ATOMIC-INCF-NODE.
3441
34422007-01-29 07:27  gb
3443
3444        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3445
34462007-01-29 07:27  gb
3447
3448        * lib/ffi-darwinppc64.lisp: new callback stuff.
3449
34502007-01-29 07:27  gb
3451
3452        * lib/ffi-darwinppc32.lisp: typos-r-us.
3453
34542007-01-29 04:37  gb
3455
3456        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3457
34582007-01-29 04:37  gb
3459
3460        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3461
34622007-01-29 04:36  gb
3463
3464        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3465
34662007-01-29 04:36  gb
3467
3468        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3469
34702007-01-29 04:36  gb
3471
3472        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3473        stuff here.
3474
34752007-01-29 02:33  gb
3476
3477        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3478
34792007-01-28 21:47  gb
3480
3481        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3482        a bit more, change the API, get things working ... still a moving
3483        target.
3484
34852007-01-28 21:46  gb
3486
3487        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3488        (Other platforms still need more bootstrapping.)
3489
34902007-01-28 21:44  gb
3491
3492        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3493        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3494
34952007-01-28 03:21  gb
3496
3497        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3498        dynamic-extent, other decls separately.
3499
35002007-01-28 03:20  gb
3501
3502        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3503        use the new (ftd-based) scheme.
3504
35052007-01-28 01:43  gb
3506
3507        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3508        code's getting replaced, but fix 'em anyway.)
3509
35102007-01-28 01:42  gb
3511
3512        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3513        translated pathname and mention the fact that this might indicate a
3514        problem with "ccl:"'s logical translations.
3515
35162007-01-25 04:37  gb
3517
3518        * lib/foreign-types.lisp: Never fully understood the concept
3519        "auxiliary" foreign types, but try to canonicalize intermediate
3520        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3521        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3522        likely to return T (e.g., something registered in the FTD.
3523       
3524        It seems clear that this is the right thing when the structure
3525        reference is in global scope; I'm not sure what it'd mean for that
3526        not to be the case.
3527
35282007-01-25 04:32  gb
3529
3530        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3531        callback.
3532
35332007-01-24 23:41  gb
3534
3535        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3536        may not even compile.
3537
35382007-01-24 02:39  gb
3539
3540        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3541        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3542        for new FTD functions.
3543
35442007-01-24 02:28  gb
3545
3546        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3547        defstruct.
3548
35492007-01-23 15:28  gb
3550
3551        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3552        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3553        Return FPRs in the same place.  (Will need to re-work all of this
3554        for platform-dependent structure stuff.)
3555
35562007-01-23 15:26  gb
3557
3558        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3559        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3560        the lisp side.)
3561
35622007-01-23 15:21  gb
3563
3564        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3565        c_reg_save for saved fp args (f1-f13).
3566
35672007-01-23 15:14  gb
3568
3569        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3570        ftd hook.
3571
35722007-01-23 07:19  gb
3573
3574        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3575        (CLASS-OF non-simple-string).
3576
35772007-01-23 07:02  gb
3578
3579        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3580        array case, needed new string definition.
3581
35822007-01-23 07:01  gb
3583
3584        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3585        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3586        compiler/X86/X8664/x8664-backend.
3587
35882007-01-23 06:59  gb
3589
3590        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3591        stuff here.
3592
35932007-01-21 08:32  gb
3594
3595        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3596        "-returning-").
3597       
3598        Typecheck the :registers arg.
3599
36002007-01-21 08:32  gb
3601
3602        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3603
36042007-01-21 08:31  gb
3605
3606        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3607        stack-block.
3608
36092007-01-21 08:31  gb
3610
3611        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3612        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3613        instead.
3614
36152007-01-21 06:46  gb
3616
3617        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3618        space for 13 float registers, not 31.
3619
36202007-01-21 06:45  gb
3621
3622        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3623        x86-64.
3624
36252007-01-21 06:38  gb
3626
3627        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3628        register return without typos.
3629
36302007-01-21 06:15  gb
3631
3632        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3633        register return.
3634
36352007-01-21 06:14  gb
3636
3637        * compiler/nx1.lisp: Don't assume that passing a structure by value
3638        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3639        platform that doesn't support the convention.)
3640
36412007-01-21 06:12  gb
3642
3643        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3644        replaces .SPunused-4.
3645
36462007-01-21 06:10  gb
3647
3648        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3649        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3650        (replaces .SPunused_4).
3651
36522007-01-21 00:05  gb
3653
3654        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3655        argument/result coercion functions in os::expand-ff-call.
3656
36572007-01-20 23:53  gb
3658
3659        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3660        results when expanding an ff-call.
3661
36622007-01-20 23:52  gb
3663
3664        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3665        foreign args, results.
3666
36672007-01-20 22:31  gb
3668
3669        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3670        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3671        are to each other.  I'd guess that they're pretty close, and that
3672        x86-64 Darwin is random.)
3673
36742007-01-20 21:55  gb
3675
3676        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3677
36782007-01-20 19:34  gb
3679
3680        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3681
36822007-01-20 19:25  gb
3683
3684        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3685        right os::ff-call-expander.
3686
36872007-01-20 19:24  gb
3688
3689        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3690
36912007-01-20 19:24  gb
3692
3693        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3694        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3695        OS.
3696
36972007-01-20 19:23  gb
3698
3699        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3700        probably several more.
3701
37022007-01-20 19:22  gb
3703
3704        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3705
37062007-01-20 19:21  gb
3707
3708        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3709        extended to handle coercions at the Cocoa level, and probably needs
3710        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3711        installed by #_).
3712
37132007-01-20 19:18  gb
3714
3715        * lib/db-io.lisp: Encode, decode union types in arglists.
3716
37172007-01-20 19:17  gb
3718
3719        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3720        os::expand-ff-call.
3721       
3722        Canonicalize the :void type a bit better.
3723
37242007-01-20 19:16  gb
3725
3726        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3727
37282007-01-18 23:15  gb
3729
3730        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3731
37322007-01-18 23:15  gb
3733
3734        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3735
37362007-01-18 23:15  gb
3737
3738        * lib/systems.lisp: Add the new ffi-backend sources.
3739
37402007-01-18 23:14  gb
3741
3742        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3743        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3744        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3745        files.
3746
37472007-01-18 04:35  gb
3748
3749        * level-1/version.lisp: Bump.
3750
37512007-01-18 04:17  gb
3752
3753        * examples/bridge.lisp: Some word-size conditionalization.  Will
3754        need more work to handle struct return/asssignment correctly on all
3755        platforms.
3756
37572007-01-18 04:15  gb
3758
3759        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3760        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3761
37622007-01-18 04:13  gb
3763
3764        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3765        type casts, etc.
3766
37672007-01-18 04:12  gb
3768
3769        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3770        deprecated NSFont stuff.
3771
37722007-01-18 04:11  gb
3773
3774        * examples/objc-clos.lisp: Handle ivars, class
3775        creation/initialization differently for ObjC 2.0.
3776
37772007-01-18 04:10  gb
3778
3779        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3780
37812007-01-18 04:09  gb
3782
3783        * examples/objc-support.lisp: Note which protocols are actually
3784        used when walking classes.  (There doesn't seem to be a good way of
3785        finding a Protocol object pre-objc-2.0, and we may need to test
3786        protocol compliance to disambiguate message sends in some cases.)
3787
37882007-01-18 04:07  gb
3789
3790        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3791        necessarily darwinppc).
3792
37932007-01-18 04:06  gb
3794
3795        * examples/addressbook.lisp: Conditionalize for darwin (not
3796        necessarily darwinppc).  May want to conditionalize for bundle
3797        executable name, as well.
3798
37992007-01-18 04:05  gb
3800
3801        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3802        to sketch out structure return code (structures are often
3803        "returned" by returning field values in registers pn DarwinPPC64.)
3804
38052007-01-18 04:04  gb
3806
3807        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3808        attributes for structure args/results.
3809
38102007-01-18 04:03  gb
3811
3812        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3813         (Will need this for other platforms, too.)
3814
38152007-01-18 04:01  gb
3816
3817        * lib/macros.lisp: Arch-specific macro interface for
3818        WITH-FFCALL-RESULTS.
3819
38202007-01-18 04:00  gb
3821
3822        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3823        return value.
3824
38252007-01-18 04:00  gb
3826
3827        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3828        .SPpoweropen_ffcall_return_registers.
3829
38302007-01-18 03:59  gb
3831
3832        * library/parse-ffi.lisp: At least optionally, make structure
3833        return explicit (expecting it to be handled by higher-level code.)
3834
38352007-01-18 03:58  gb
3836
3837        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3838        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3839
38402007-01-18 03:55  gb
3841
3842        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3843        may hold OS thread context.
3844
38452007-01-18 03:54  gb
3846
3847        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3848        in ftd.
3849
38502007-01-18 03:53  gb
3851
3852        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3853        macro.
3854
38552007-01-18 03:52  gb
3856
3857        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3858        all possible result regs.  (Maybe poweropen syscall, too.)
3859
38602007-01-18 03:51  gb
3861
3862        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3863        .SPpoweropen-ff-call-return-registers.
3864
38652007-01-18 03:50  gb
3866
3867        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3868        supported, backend will return all (potential) result registers in
3869        buffer at <exp>.
3870
38712007-01-16 02:01  gb
3872
3873        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3874        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3875        functions make less sense for character streams/strings than they
3876        used to.)
3877
38782007-01-16 01:39  gb
3879
3880        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3881        defaults to :BIVALENT
3882
38832007-01-16 01:37  gb
3884
3885        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3886
38872007-01-11 23:58  gb
3888
3889        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3890        into (* (/ constant1 constant2) exp).  Not very general, but makes
3891        some foreign address arithmetic better.
3892
38932007-01-11 23:56  gb
3894
3895        * lib/macros.lisp: Simple PAREF: (paref pointer
3896        foreign-pointer-or-array-type index) does simple arithmetic for
3897        you.
3898
38992007-01-11 23:54  gb
3900
3901        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3902
39032007-01-10 15:50  gb
3904
3905        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3906        double->heap vinsn.
3907
39082007-01-09 11:33  gb
3909
3910        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3911        cleanup and multiple values are being thrown, be sure to set
3912        tcr.xframe from the target catch frame.  This is necessary on
3913        general principles (GC safety), and especially necessary if the
3914        cleanup form does a non-local exit.
3915
39162007-01-08 22:12  gb
3917
3918        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3919        Revive some of the old GNUstep support; add partial ObjC 2.0
3920        support (for 64-bit targets only, so far.)
3921
39222007-01-08 22:11  gb
3923
3924        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3925        darwinppc-target.
3926
39272007-01-08 22:10  gb
3928
3929        * examples/cocoa-listener.lisp: Disable background layout in the
3930        listener; the whole two-thread scheme probably isn't viable, but
3931        doing this seems to suppress a timing-related symptom.
3932
39332007-01-08 22:09  gb
3934
3935        * examples/cocoa-editor.lisp: Document-begin-editing,
3936        document-end-editing: both seem to have been conditionalized
3937        backwards.
3938
39392007-01-05 16:22  gb
3940
3941        * level-0/l0-numbers.lisp: Fix another typo ...
3942
39432007-01-05 16:16  gb
3944
3945        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3946
39472007-01-05 15:27  gb
3948
3949        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3950        PPC32.
3951
39522007-01-05 06:20  gb
3953
3954        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3955        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3956        result (with the right arg) does obtain a link map.
3957       
3958        Revive shared libraries on FreeBSD, but don't do the strange
3959        Linux-specific re-opening there.  (It seems like it's possible to
3960        #_dlopen something that already has a loaded link map - like the
3961        FreeBSD dynamic linker - or something.)
3962
39632007-01-04 05:46  gb
3964
3965        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3966        :WILD-INFERIORS.
3967
39682007-01-04 05:45  gb
3969
3970        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
3971        (which may use %gs instead of %fs for tls).
3972
39732007-01-04 05:44  gb
3974
3975        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
3976
39772007-01-04 05:44  gb
3978
3979        * level-0/l0-numbers.lisp:
3980        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
3981        accurately represented in float, do so.
3982
39832007-01-03 03:35  gb
3984
3985        * lib/sequences.lisp: Fix a few type errors, check for explicit
3986        vector-type length earlier.
3987
39882007-01-03 03:31  gb
3989
3990        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
3991        preserved :WILD, don't map it to "*".
3992
39932007-01-03 03:30  gb
3994
3995        * lib/pathnames.lisp: More whack-a-mole with pathnames
3996        (specifically, preserving :WILD as name/type value and dealing with
3997        the consequences of doing so.)
3998
39992007-01-03 03:27  gb
4000
4001        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4002
40032007-01-02 09:57  gb
4004
4005        * lib/macros.lisp: Keep fixing CTYPECASE.
4006
40072007-01-02 09:57  gb
4008
4009        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4010        BASIC-CHARACTER-INPUT-STREAM returns both values.
4011       
4012        "Composite" (two-way, concatenated, etc) streams need a close
4013        protocol.
4014
40152007-01-02 07:00  gb
4016
4017        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4018        (new) version slot, as does practically everything else.
4019
40202007-01-02 06:59  gb
4021
4022        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4023        accurately coerced to floats when comparing fixnums and floats; do
4024        the logical equvalent of calling RATIONAL on the float instead.
4025
40262007-01-01 23:41  gb
4027
4028        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4029        version into returned namestring for physical pathnames.
4030
40312006-12-31 10:15  gb
4032
4033        * release-notes.txt: Update.
4034
40352006-12-31 09:13  gb
4036
4037        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4038        version.
4039
40402006-12-31 08:57  gb
4041
4042        * xdump/faslenv.lisp: Bump fasl-min-vers.
4043
40442006-12-31 08:49  gb
4045
4046        * lib/nfcomp.lisp: Bump current fasl version.
4047
40482006-12-31 08:33  gb
4049
4050        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4051        Tweak the executable start address.
4052
40532006-12-31 02:44  gb
4054
4055        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4056        ensure that there's nothing interesting in the first few pages of
4057        the address space (and ensure that those pages are mapped.)
4058
40592006-12-31 02:43  gb
4060
4061        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4062        on x86-64 (ld64 does some floating-point arithmetic, fails to
4063        account for roundoff error, and claims that 0x1000 isn't a power of
4064        2.) If you can't say anything good about a linker, it's best not to
4065        say anything at all.
4066       
4067        We can force the first segment to be mapped at 0x1000, and can
4068        waste a few pages to ensure that all low-memory pages that the lisp
4069        wants are mapped.
4070
40712006-12-31 02:33  gb
4072
4073        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4074        defensive.
4075
40762006-12-31 02:32  gb
4077
4078        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4079
40802006-12-31 02:29  gb
4081
4082        * xdump/faslenv.lisp: Bump $fasl-vers.
4083
40842006-12-31 02:28  gb
4085
4086        * level-1/version.lisp: Bump; remove "Beta" designation.
4087
40882006-12-29 20:13  gb
4089
4090        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4091        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4092        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4093        up a page on x86-64 as well.
4094
40952006-12-29 16:09  gb
4096
4097        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4098        .orged.
4099
41002006-12-29 15:32  gb
4101
4102        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4103        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4104        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4105        (including NIL) now one page higher on ppc32, as well.
4106
41072006-12-29 02:38  gb
4108
4109        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4110
41112006-12-29 01:38  gb
4112
4113        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4114        ppc64::reservation-discharge) up a page.
4115
41162006-12-29 01:37  gb
4117
4118        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4119        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4120
41212006-12-29 01:36  gb
4122
4123        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4124        backend.  ppc64 wants it one page higher than it has been, to avoid
4125        letting unmapped pages get claimed by the dynamic linker on Darwin.
4126
41272006-12-29 01:35  gb
4128
4129        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4130        that the image starts at #x1000 and aligned section data for the
4131        text section starts on the next page.
4132
41332006-12-29 01:33  gb
4134
4135        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4136        the aligned text section data starts.
4137
41382006-12-29 01:32  gb
4139
4140        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4141        etc a page higher.
4142
41432006-12-29 01:32  gb
4144
4145        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4146        already where it should be.
4147
41482006-12-29 01:32  gb
4149
4150        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4151        page higher.
4152
41532006-12-29 01:30  gb
4154
4155        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4156
41572006-12-22 01:40  gb
4158
4159        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4160
41612006-12-22 01:39  gb
4162
4163        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4164        PPC32/Darwin.
4165       
4166        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4167        test and use dlfcn functions if at least Tiger.
4168       
4169        (The old dyld functions are deprecated under Leopard, and there's
4170        reason to believe that they don't work correctly on at least ppc64/
4171        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4172        a 64-bit .dylib seems to lead to memory corruption rather than
4173        returning NSObjectFileImageInappropriateFile.
4174       
4175        The old functions work better than the dlfcn functions on pre-Tiger
4176        systems.)
4177
41782006-12-19 01:24  gb
4179
4180        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4181        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4182        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4183        producing a pathane with a non-null VERSION component, as it
4184        arguably should have been all along.
4185
41862006-12-18 13:22  gb
4187
4188        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4189        types into concrete vector types.
4190
41912006-12-18 13:04  gb
4192
4193        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4194        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4195        failing to do this leads to many test failures.)
4196
41972006-12-18 13:03  gb
4198
4199        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4200
42012006-12-18 12:57  gb
4202
4203        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4204        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4205        failing to do this leads to many test failures.)
4206
42072006-12-18 12:54  gb
4208
4209        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4210
42112006-12-16 05:28  gb
4212
4213        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4214        instructions have a minor opcode in frb and only have one source
4215        operand.
4216
42172006-12-16 05:27  gb
4218
4219        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4220        SQRT, note that there's only one operand and that it's in frb.
4221
42222006-12-16 05:25  gb
4223
4224        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4225        instructions, notably fsqrt/fqrts, which are optional and not
4226        implemented on some PPC machines.
4227
42282006-12-16 05:24  gb
4229
4230        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4231
42322006-12-14 19:47  gb
4233
4234        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4235
42362006-12-14 16:43  gb
4237
4238        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4239        double-float arithmetic vinsns should say :double-float, not
4240        :single-float.  (I suspect cut-and-paste, frankly.)
4241
42422006-12-14 16:25  gb
4243
4244        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4245        initial-thread.
4246
42472006-12-14 16:24  gb
4248
4249        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4250        error.
4251
42522006-12-14 16:14  gb
4253
4254        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4255        physical pathnames. (Yes, this is kind of silly.)
4256
42572006-12-14 16:01  gb
4258
4259        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4260        signal errors for (e.g.) failed memory allocation.
4261
42622006-12-14 16:00  gb
4263
4264        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4265        fails, signal a lisp error (what a concept.)
4266
42672006-12-14 15:51  gb
4268
4269        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4270       
4271        Might be worth revisiting this.
4272
42732006-12-14 15:50  gb
4274
4275        * lisp-kernel/x86-exceptions.c: Go back to using the
4276        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4277        from a fake context may not be reliable.
4278       
4279        When handling an interrupt with a partially created temp stack
4280        frame, do the right thing.  (That basically means reset the frame
4281        before calling out and recreating it if we return from the
4282        callout.)
4283       
4284        Handle SIGQUIT on the altstack, to provide a way of forcibly
4285        terminating threads that's a bit more GC-safe than doing it via
4286        #_pthread_cancel.
4287       
4288        Note the tcr of the gc thread on gc entry; if an exception happens
4289        in that thread, print a message and sleep for 60 seconds.
4290       
4291        Note that there's still a race condition here: if thread A gets an
4292        exception and thread B gets the mach_exception_lock (to GC) before
4293        the exception thread can handle the message, we deadlock (thread A
4294        would be suspended in the kernel and can't respond to a suspend
4295        signal.)  We can tell that this has happened and make a good guess
4296        as to why it happened, but dealing with it will require some
4297        thought.  (If we've already issued a suspend signal and eventually
4298        raise the suspended thread's resume semaphore, it'll suspend and
4299        resume once the mach exception thread makes it runnable.  Who
4300        cleans up its exception context in that case ?  Does it matter ?)
4301
43022006-12-14 15:19  gb
4303
4304        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4305        have all signals unmasked.
4306       
4307        If a tcr is dead, ensure that its stack areas are empty.
4308       
4309        Try to run shutdown_thread_tcr as a pthread cleanup action,
4310        hopefully before Mach clobbers the thread's signal mask.
4311
43122006-12-14 15:16  gb
4313
4314        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4315        TCR_AREA_LOCK.
4316
43172006-12-14 15:15  gb
4318
4319        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4320        hasn't existed in years.
4321
43222006-12-14 15:14  gb
4323
4324        * level-1/version.lisp: Bump.
4325
43262006-12-14 15:14  gb
4327
4328        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4329        termination semaphore.
4330
43312006-12-14 15:13  gb
4332
4333        * level-1/l1-processes.lisp: PROCESS objects are created with a
4334        termination semaphore.
4335
43362006-12-14 15:12  gb
4337
4338        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4339        TERMINATION-SEMAPHORE.
4340       
4341        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4342        target thread to transition from running lisp code to running
4343        foreign code without advertising that fact. Send a SIGQUIT instead,
4344        and trust the SIGQUIT handler to manage that transition.  Don't try
4345        to kill the initial thread.
4346
43472006-12-09 09:52  gb
4348
4349        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4350        their CLEAR-OUTPUT methods.
4351       
4352        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4353        their displaced-index-offsets.)
4354
43552006-12-09 09:49  gb
4356
4357        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4358        threads on x86-64.  (The PPC never got around to enabling them.)
4359
43602006-12-09 09:47  gb
4361
4362        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4363        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4364        the result of its evaluation.
4365       
4366        Some fixes in CTYPECASE handling, which hopefully didn't break
4367        anything else.
4368
43692006-12-09 09:36  gb
4370
4371        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4372        1d) index register is set - even if the index is a constant - if we
4373        think that the store needs EGC memoization.
4374       
4375        (Note that the test case that exposed this involved storing
4376        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4377        64-bit platforms.)
4378       
4379        In aref2, don't worry about reserving unscaled index registers when
4380        targeting the 1d index; the unscaled index registers aren't live
4381        after, could be NULL if the index is a constant, and any overlap
4382        between one of them and the 1d index should be handled in the
4383        vinsn(s).
4384
43852006-12-09 09:30  gb
4386
4387        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4388        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4389        class-translations.
4390
43912006-12-09 09:27  gb
4392
4393        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4394        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4395        don't segfault taking its CAR without checking.)
4396
43972006-12-06 18:48  gb
4398
4399        * level-0/X86/x86-float.lisp: x86-64 version of
4400        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4401        in %imm1 (which is undefined here ...)
4402
44032006-12-06 17:05  gb
4404
4405        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4406        right symbol for the named block.
4407       
4408        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4409        (SETF NAME).
4410
44112006-12-05 22:44  gb
4412
4413        * release-notes.txt: Update for 061205.
4414
44152006-12-05 20:31  gb
4416
4417        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4418        from putting a linkedit segment in the wrong place and making
4419        32-bit memory unmappable.
4420
44212006-12-05 20:30  gb
4422
4423        * level-1/version.lisp: Bump.
4424
44252006-12-05 20:29  gb
4426
4427        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4428
44292006-12-05 18:53  gb
4430
4431        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4432        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4433        doc string for *ALTERNATE-LINE-TERMINATOR*.
4434
44352006-12-04 15:13  gb
4436
4437        * level-1/version.lisp: Append a patchlevel to the version string,
4438        at least until new tarballs can be built.
4439
44402006-12-04 15:12  gb
4441
4442        * level-1/l1-streams.lisp: If stream element type upgrades to
4443        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4444        element-type.)
4445
44462006-12-04 13:02  gb
4447
4448        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4449        called): don't bother to shift by 0 bits.  Do shift the initial U
4450        if non-zero trailing 0 BITS (was testing for non-zero trailing
4451        DIGITS.)
4452
44532006-12-04 12:52  gb
4454
4455        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4456        element-types; do some upgrading to support some more element types
4457        (BIT -> (UNSIGNED-BYTE 8)).
4458       
4459        Maybe support arbitrarily large integer types someday soon.  Maybe
4460        not.
4461
44622006-12-04 12:48  gb
4463
4464        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4465        types (compiler stuff, mostly).
4466
44672006-12-04 12:46  gb
4468
4469        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4470        shift count of 32 (and returns 0 in that case.)
4471
44722006-12-04 12:46  gb
4473
4474        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4475        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4476        in case.)
4477
44782006-12-04 12:43  gb
4479
4480        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4481        GCD-2 ...
4482
44832006-12-04 09:26  gb
4484
4485        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4486        for STRING-INPUT-STREAMs.
4487
44882006-12-04 09:24  gb
4489
4490        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4491        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4492        shift by 0 bits.
4493
44942006-12-04 09:21  gb
4495
4496        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4497        doing %SLOT-UNBOUND-TRAP.
4498
44992006-12-04 09:21  gb
4500
4501        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4502        STREAMs, returns NIL.  STREAM-POSITION method for
4503        STRING-INPUT-STREAMs.
4504
45052006-12-04 09:19  gb
4506
4507        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4508        containing heap image.
4509
45102006-12-03 07:41  gb
4511
4512        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4513        STRING-OUTPUT-STREAMs are no-ops.
4514       
4515        Need an ioblock-based character-read-vector function for
4516        string-input-streams.
4517
45182006-12-03 07:37  gb
4519
4520        * lib/describe.lisp: Minimal DESCRIBE support for
4521        CCL::BASIC-STREAM.
4522
45232006-12-03 07:36  gb
4524
4525        * lib/macros.lisp: If :element-type is supplied in
4526        WITH-OUTPUT-TO-STRING, don't quote it.
4527
45282006-12-03 05:11  gb
4529
4530        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4531        isn't necessarily 16.
4532
45332006-12-03 05:10  gb
4534
4535        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4536        isn't necessarily 16.
4537       
4538        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4539        %slot-unbound-trap.
4540
45412006-12-03 05:09  gb
4542
4543        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4544        avoid some NO-NEXT-METHODs.
4545
45462006-12-03 02:42  gb
4547
4548        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4549        bit better.
4550
45512006-12-03 02:41  gb
4552
4553        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4554        bit.
4555
45562006-12-03 02:28  gb
4557
4558        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4559        clearing the low byte of the header, shifting it right, and
4560        comparing the index to that.  (It's not reliable to shift the index
4561        left.)
4562
45632006-12-03 02:26  gb
4564
4565        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4566        write BOM, leave that up to higher-level code.
4567       
4568        Start to write some higher-level code.
4569
45702006-12-03 02:23  gb
4571
4572        * level-1/l1-sysio.lisp: Fix some indentation.
4573
45742006-12-03 02:21  gb
4575
4576        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4577        the header word right (after clearing its low byte) and compare the
4578        index to that.  (Shifting the index left - d'oh - obviously fails
4579        for indices of large magnitude.)
4580
45812006-11-29 21:07  gb
4582
4583        * lib/db-io.lisp: Indentation change.
4584       
4585        Add CDB-ENUMERATE-KEYS.
4586
45872006-11-29 18:37  gb
4588
4589        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4590        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4591        LISTP first.  (I hope ...).  Do so.
4592
45932006-11-28 18:42  gb
4594
4595        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4596
45972006-11-28 16:14  gb
4598
4599        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4600
46012006-11-28 16:12  gb
4602
4603        * examples/objc-runtime.lisp: Wrap a (primitive)
4604        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4605        NSThread.
4606
46072006-11-28 16:09  gb
4608
4609        * examples/cocoa-listener.lisp: Don't claim that a callback
4610        parameter is ignored; use IGNORABLE instead.
4611
46122006-11-21 01:28  gb
4613
4614        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4615        conditionalization.
4616
46172006-11-21 00:55  gb
4618
4619        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4620        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4621       
4622        Basic file-socket streams.
4623
46242006-11-10 05:08  gb
4625
4626        * release-notes.txt: Update.
4627
46282006-11-10 04:28  gb
4629
4630        * lisp-kernel/image.h: Bump min image version.
4631
46322006-11-10 04:19  gb
4633
4634        * xdump/heap-image.lisp: bump current image version.
4635
46362006-11-10 04:19  gb
4637
4638        * lisp-kernel/image.h: bump current, max image version.
4639
46402006-11-10 04:10  gb
4641
4642        * xdump/faslenv.lisp: Bump min fasl version.
4643
46442006-11-10 03:56  gb
4645
4646        * lib/nfcomp.lisp: bump current fasl version.
4647
46482006-11-10 03:47  gb
4649
4650        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4651        #_exit
4652
46532006-11-10 03:46  gb
4654
4655        * compiler/X86/x862.lisp: TYPE typo.
4656
46572006-11-10 03:32  gb
4658
4659        * xdump/faslenv.lisp: Bump max fasl version.
4660
46612006-11-10 03:25  gb
4662
4663        * level-1/version.lisp: Bump.  New snapshots today!
4664
46652006-11-09 16:26  gb
4666
4667        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4668       
4669        PREPARE-TO-QUIT kill stragglers without waiting as long.
4670
46712006-11-09 15:50  gb
4672
4673        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4674       
4675        Try to run lisp code after #_exit via lazarus(); this is for some
4676        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4677       
4678        The environment in which The Undead code runs is a little funky,
4679        especially on PPC.  There might be GC implications (cstack will
4680        contain call history as of the point when #_exit called atexit
4681        handlers, vstack & tstack are emptied in lazarus()).  We should
4682        barely run any code in this environment, but we will GC a time or
4683        two ...
4684
46852006-11-09 15:45  gb
4686
4687        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4688
46892006-11-09 15:43  gb
4690
4691        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4692        protocol.
4693
46942006-11-09 15:42  gb
4695
4696        * examples/cocoa-listener.lisp: :set-document-edited for listener
4697        "documents" is a no-op.
4698
46992006-11-09 15:39  gb
4700
4701        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4702        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4703
47042006-11-09 12:50  gb
4705
4706        * compiler/X86/x862.lisp: Always check that array-ctype's
4707        dimensions are a list before taking their length.
4708
47092006-11-09 12:13  gb
4710
4711        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4712        right thing ...
4713
47142006-11-09 10:08  gb
4715
4716        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4717        Three-arg aref/(setf aref) for x8664.
4718
47192006-11-09 05:37  gb
4720
4721        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4722        errors.
4723
47242006-11-09 05:37  gb
4725
4726        * compiler/nxenv.lisp: Operators for 3d array access.
4727
47282006-11-09 05:36  gb
4729
4730        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4731        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4732        array types.
4733
47342006-11-08 12:50  gb
4735
4736        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4737        Leopard nonsense: define the stack context struct separately, make
4738        the ucontext stack field an instance of it.  (Not -sure- if that
4739        was necessary, but :poweropen-target was accidentally on *FEATURES*
4740        and foreign struct layout was using read-time condtionalization to
4741        decide whether or not to use brain-dead structure-alignment rules
4742        leftover from AIX/PowerOpen.
4743
47442006-11-08 12:46  gb
4745
4746        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4747
47482006-11-08 12:40  gb
4749
4750        * compiler/optimizers.lisp: Try to infer/insert the array type when
4751        compiler-macroexpanding MAKE-ARRAY calls.
4752
47532006-11-08 12:39  gb
4754
4755        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4756        :poweropen-alignment rules.
4757
47582006-11-08 12:38  gb
4759
4760        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4761        to poweropen structure layout rules should be an attribute of the
4762        FTD, not done via read-time conditionalization.
4763
47642006-11-08 05:15  gb
4765
4766        * level-1/version.lisp: Bump.
4767
47682006-11-08 05:15  gb
4769
4770        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4771       
4772        TODO: get rid of "bivalent" streams, but allow switching some
4773        streams (sockets) between "character mode" and "binary mode".
4774
47752006-11-08 02:39  gb
4776
4777        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4778
47792006-11-07 21:10  gb
4780
4781        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4782        ASET->%ASET3.
4783
47842006-11-07 20:40  gb
4785
4786        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4787
47882006-11-07 20:39  gb
4789
4790        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4791
47922006-11-07 20:38  gb
4793
4794        * level-0/l0-array.lisp: Use %aref2,%aref3.
4795
47962006-11-07 20:37  gb
4797
4798        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4799        vector-store vinsns.
4800
48012006-11-07 20:37  gb
4802
4803        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4804
48052006-11-07 10:28  gb
4806
4807        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4808        .SPaset3.
4809
48102006-11-07 10:27  gb
4811
4812        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4813
48142006-11-07 10:26  gb
4815
4816        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4817        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4818
48192006-11-07 10:26  gb
4820
4821        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4822        mullw/mulld.
4823
48242006-11-07 04:12  gb
4825
4826        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4827
48282006-11-06 22:07  gb
4829
4830        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4831        :fixnum-vector case.
4832
48332006-11-06 22:04  gb
4834
4835        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4836        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4837        known/declared.
4838
48392006-11-06 22:02  gb
4840
4841        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4842        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4843        versions, but it helps not to have to remember which are
4844        implemented and which aren't.)
4845
48462006-11-06 22:01  gb
4847
4848        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4849
48502006-11-06 22:00  gb
4851
4852        * compiler/nx1.lisp: New %ASET2 handling.
4853
48542006-11-06 21:59  gb
4855
4856        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4857        never assigned to.
4858
48592006-11-05 22:09  gb
4860
4861        * level-1/x86-trap-support.lisp: Try to work around
4862        incompatibilites in Tiger/Leopard headers.
4863
48642006-11-05 22:08  gb
4865
4866        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4867        the foreign function may not exist.
4868
48692006-11-05 20:41  gb
4870
4871        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4872
48732006-11-05 07:55  gb
4874
4875        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4876        x86-64, as well.
4877
48782006-11-05 07:52  gb
4879
4880        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4881
48822006-11-05 07:50  gb
4883
4884        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4885        .SPaset2.
4886
48872006-11-05 07:48  gb
4888
4889        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4890        testing simple-array-ness, add the (possibly 0) displacement from
4891        the header before handling the simple aref of the data vector.
4892
48932006-11-05 07:47  gb
4894
4895        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4896        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4897
48982006-11-05 07:46  gb
4899
4900        * level-1/version.lisp: Bump; new binaries soon.
4901
49022006-11-05 07:46  gb
4903
4904        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4905        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4906        4G seconds after an EINTR on Leopard.
4907
49082006-11-05 07:44  gb
4909
4910        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4911        if any non-fixnum bits would be set in the result.  (Should
4912        probably make this true on all platforms; for PPC64, it's important
4913        for foreign function addresses that're ... suboptimally aligned.)
4914
49152006-11-05 07:42  gb
4916
4917        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4918        %NANOSLEEP's second (by reference) argument contains garbage after
4919        an EINTR.  (The L word, again.)
4920
49212006-11-05 07:41  gb
4922
4923        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4924        into the kernel.
4925
49262006-11-05 07:40  gb
4927
4928        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4929        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4930        MACPTR->FIXNUM return NIL if an address isn't representable as a
4931        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4932        can't return a fixnum on PPC (really just affects PPC64.)
4933
49342006-11-05 07:37  gb
4935
4936        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4937
49382006-11-05 07:36  gb
4939
4940        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4941        2d aref support/changes.
4942
49432006-11-05 07:36  gb
4944
4945        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4946        x8664 wrt 2d aref.  Stll a ways to go.
4947
49482006-11-05 07:35  gb
4949
4950        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4951
49522006-11-04 00:05  gb
4953
4954        * level-1/version.lisp: Bump.
4955
49562006-11-03 23:10  gb
4957
4958        * level-1/ppc-error-signal.lisp: fix parens.
4959
49602006-11-03 23:09  gb
4961
4962        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4963        gvector types contains :struct, not :structure.
4964
49652006-11-03 23:08  gb
4966
4967        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4968        subprim.
4969       
4970        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
4971        in the builtin functions table.
4972
49732006-11-03 15:19  gb
4974
4975        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
4976
49772006-11-03 15:18  gb
4978
4979        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
4980
49812006-11-03 15:17  gb
4982
4983        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
4984        type-error UUOs.
4985
49862006-11-03 15:16  gb
4987
4988        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
4989
49902006-11-03 15:16  gb
4991
4992        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
4993        (array-header) layout.
4994
49952006-11-03 13:46  gb
4996
4997        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
4998        returns its argument if all members are SPECIALIZERS.
4999       
5000        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5001        arguments, for the benefit of people who haven't read the MOP spec
5002        or who don't realize that the MOP defines some things differently
5003        from CLHS.
5004
50052006-11-03 13:38  gb
5006
5007        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5008        to refer to primitive structure type.
5009       
5010        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5011
50122006-11-03 13:37  gb
5013
5014        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5015        :STRUCTURE) is on target-gvector-types.
5016
50172006-11-03 12:53  gb
5018
5019        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5020
50212006-11-03 12:52  gb
5022
5023        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5024         More to come ...
5025
50262006-11-03 12:52  gb
5027
5028        * lisp-kernel/x86-constants64.s: Define array-header layout.
5029
50302006-11-03 12:51  gb
5031
5032        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5033        encodings, new type-error constants.
5034
50352006-11-03 12:50  gb
5036
5037        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5038        traps.
5039
50402006-11-03 12:49  gb
5041
5042        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5043        constant-redefinition CERRORs.
5044
50452006-11-03 12:48  gb
5046
5047        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5048
50492006-11-03 12:47  gb
5050
5051        * level-0/l0-pred.lisp: array--header -> array-header.
5052
50532006-11-03 12:47  gb
5054
5055        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5056        add/change some 2d array stuff.
5057
50582006-11-03 12:43  gb
5059
5060        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5061        subprims; seem to be much (>5x) faster than the lisp/lap versions
5062        (though we can generally be faster still when we know the
5063        element-type and/or know whether the array is simple or explicitly
5064        displaced.)
5065
50662006-11-03 12:41  gb
5067
5068        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5069        related changes.
5070       
5071        Split the code which handles bounds/type-checking in vref out from
5072        the code which actually does the reference, so that the latter can
5073        be used in multidimensional cases.
5074       
5075        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5076        general case.)
5077
50782006-11-03 12:38  gb
5079
5080        * compiler/nx1.lisp: Change handling of 2d-aref.
5081
50822006-11-03 12:37  gb
5083
5084        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5085        general-aref2.  More changes to come (and this may affect
5086        compilation on PPC until some PPC compiler changes are
5087        made/checked-in.)
5088
50892006-11-03 12:35  gb
5090
5091        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5092        the range 128-255, rather than 64-127; more are defined.
5093
50942006-11-02 09:43  gb
5095
5096        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5097
50982006-11-02 09:37  gb
5099
5100        * compiler/arch.lisp: New error constants; work in progress ...
5101
51022006-11-01 11:40  gb
5103
5104        * lisp-kernel/errors.s: Some new constants; more to check in later.
5105
51062006-10-31 03:39  gb
5107
5108        * level-0/l0-io.lisp: You must be reading the OLD rule book
5109        (Leopard and #$EINTR).
5110
51112006-10-31 03:21  gb
5112
5113        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5114        the tcr.  Initialize "addr" before testing it ...
5115
51162006-10-31 03:21  gb
5117
5118        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5119        the tcr.
5120
51212006-10-30 20:40  gb
5122
5123        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5124        expands into something more useful.
5125
51262006-10-30 20:39  gb
5127
5128        * lisp-kernel/ppc-spentry.s: Fix ppc32
5129        misc_ref_double_float_vector.
5130
51312006-10-30 00:24  gb
5132
5133        * level-0/l0-bignum64.lisp: Enable the destructive version of
5134        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5135        provide/fix supporting functions.  Seems to work on ppc64; needs
5136        testing on x8664.
5137
51382006-10-27 17:49  gb
5139
5140        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5141
51422006-10-25 20:36  gb
5143
5144        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5145        variants): always clear the untyi-char.
5146       
5147        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5148        needs an argument.
5149       
5150        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5151        bivalent streams.
5152       
5153        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5154
51552006-10-24 12:35  gb
5156
5157        * level-1/version.lisp: Bump.
5158
51592006-10-24 01:29  gb
5160
5161        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5162        _SPdestbind1 (still used in inlining, sometimes.)
5163
51642006-10-24 01:05  gb
5165
5166        * release-notes.txt: Change the date, add/change some content.
5167
51682006-10-24 01:05  gb
5169
5170        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5171        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5172
51732006-10-24 00:56  gb
5174
5175        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5176        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5177
51782006-10-24 00:55  gb
5179
5180        * level-1/l1-streams.lisp: When recycling
5181        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5182        (Failure to do this can screw up the pretty-printer, among other
5183        things.)
5184
51852006-10-24 00:52  gb
5186
5187        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5188        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5189
51902006-10-23 17:03  gb
5191
5192        * release-notes.txt: Updated; almost ready to go (still a
5193        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5194
51952006-10-23 16:43  gb
5196
5197        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5198        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5199
52002006-10-23 16:42  gb
5201
5202        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5203        STREAM-EXTERNAL-FORMAT) methods.
5204
52052006-10-23 16:41  gb
5206
5207        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5208        stuff.
5209
52102006-10-23 08:27  gb
5211
5212        * level-1/version.lisp: Bump; binaries today, honest.
5213
52142006-10-23 08:27  gb
5215
5216        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5217
52182006-10-23 08:26  gb
5219
5220        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5221        macros were checking for the presence of an input lock ...
5222
52232006-10-23 05:40  gb
5224
5225        * level-1/l1-streams.lisp: Optimize write-string on string streams
5226        a little.
5227
52282006-10-23 05:26  gb
5229
5230        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5231        which evaluates the string form twice; don't do whatever was being
5232        done to default the element type of the string stream.
5233
52342006-10-23 05:24  gb
5235
5236        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5237        keyword/subtype checking if element-type not provided.  (Could also
5238        skip it if it's explicit and obviously OK.)
5239
52402006-10-23 05:22  gb
5241
5242        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5243        "current" allocation if nothing's reserved.
5244
52452006-10-23 05:19  gb
5246
5247        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5248        update_bytes_allocated (sign of "disp").
5249
52502006-10-22 08:02  gb
5251
5252        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5253        form like a PROGN if there are no other forms.
5254
52552006-10-22 08:01  gb
5256
5257        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5258        ioblock functions.
5259       
5260        New string-stream implementation.  Better ...
5261
52622006-10-22 07:59  gb
5263
5264        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5265        before the stream closes.
5266
52672006-10-22 07:59  gb
5268
5269        * lib/pprint.lisp: Don't assume that string output stream strings
5270        have a fill-pointer; use STREAM-POSITION instead.
5271
52722006-10-22 07:57  gb
5273
5274        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5275        functions, after all.
5276       
5277        Go through (new) ioblock-unread-char-function.
5278
52792006-10-22 07:55  gb
5280
5281        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5282        x/s
5283
52842006-10-21 18:46  gb
5285
5286        * level-1/l1-streams.lisp: Typo.
5287
52882006-10-21 18:41  gb
5289
5290        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5291        fields in pseudo sigcontexts.
5292
52932006-10-21 18:40  gb
5294
5295        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5296        twice, etc.)
5297
52982006-10-21 18:35  gb
5299
5300        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5301        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5302        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5303        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5304        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5305
53062006-10-21 16:45  gb
5307
5308        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5309        encodings!
5310
53112006-10-19 13:48  gb
5312
5313        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5314        arg_z - in %safe-get-ptr.
5315
53162006-10-19 13:22  gb
5317
5318        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5319        optional, use #\Sub char-code as replaement char.
5320
53212006-10-19 13:21  gb
5322
5323        * examples/objc-runtime.lisp: Missing close paren.
5324
53252006-10-19 13:19  gb
5326
5327        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5328        strings to/from foreign memory.
5329
53302006-10-19 13:18  gb
5331
5332        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5333
53342006-10-18 08:04  gb
5335
5336        * level-1/version.lisp: Bump.  Binaries later today ?
5337
53382006-10-18 07:38  gb
5339
5340        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5341        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5342        class becomes (or ceases to be) a properly named class.
5343       
5344        The pre-bootstrapping version handles simpler cases of that; use
5345        ALIAS-CLASS to register some early class names as type names.
5346
53472006-10-18 07:36  gb
5348
5349        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5350        system, since only symbols which name properly-named classes are
5351        type specifiers.  Changing the name of a class can either introduce
5352        or remove a properly-named class.
5353       
5354        Classes that have the kernel-p attribute shouldn't have their names
5355        changed casually.
5356
53572006-10-18 07:33  gb
5358
5359        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5360        MAKE-SOCKET, pass it down to whatever function actually creates a
5361        stream socket.
5362
53632006-10-18 02:12  gb
5364
5365        * compiler/X86/x862.lisp: Allow closed-over addresses in
5366        conditional-form, NOT.
5367
53682006-10-18 01:43  gb
5369
5370        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5371        safe_ref_addres.
5372
53732006-10-18 01:43  gb
5374
5375        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5376
53772006-10-18 01:41  gb
5378
5379        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5380        addresses/vcells to nil.
5381
53822006-10-18 01:41  gb
5383
5384        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5385        addresses to NIL.
5386       
5387        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5388        level inline.
5389
53902006-10-18 01:39  gb
5391
5392        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5393        for a few months now.  The disassembler is always the last to know.
5394
53952006-10-17 19:15  gb
5396
5397        * compiler/PPC/PPC32/ppc32-arch.lisp,
5398        compiler/PPC/PPC64/ppc64-arch.lisp,
5399        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5400        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5401        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5402        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5403        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5404        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5405       
5406        Handle memory faults to safe-ref-addres on PPC (so far).
5407       
5408        Try using SAFE-GET-PTR in objc runtime (untested).
5409
54102006-10-17 17:34  gb
5411
5412        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5413        type in acode.
5414
54152006-10-17 14:02  gb
5416
5417        * level-1/l1-unicode.lisp: BOM-ENCODING.
5418
54192006-10-17 14:02  gb
5420
5421        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5422        something.
5423       
5424        Clear the pending-bom flag when seeking.
5425
54262006-10-17 14:01  gb
5427
5428        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5429        ioblock-based character streams.
5430
54312006-10-17 13:45  gb
5432
5433        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5434        *interrupt-level* inline.
5435
54362006-10-17 13:44  gb
5437
5438        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5439        immmediate operand (xuuo).
5440
54412006-10-17 13:39  gb
5442
5443        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5444        when necessary.
5445
54462006-10-17 13:39  gb
5447
5448        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5449        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5450
54512006-10-15 17:51  gb
5452
5453        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5454       
5455        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5456
54572006-10-15 17:51  gb
5458
5459        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5460
54612006-10-15 17:50  gb
5462
5463        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5464
54652006-10-14 07:41  gb
5466
5467        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5468        ENSURING-NODE-TARGET.
5469       
5470        Inline the fixnum case of two-arg numeric comparisons.
5471
54722006-10-14 07:39  gb
5473
5474        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5475        INLINE-SUB2 support.
5476
54772006-10-14 06:30  gb
5478
5479        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5480        generated DEFSTRUCT accessors.
5481
54822006-10-14 06:27  gb
5483
5484        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5485       
5486        Do the fixnum case of two-argument subtraction inline.
5487       
5488        Inline the fixnum case of two-argument numeric comparisons.
5489       
5490        STRUCT-REF avoids typechecking when reckless.
5491
54922006-10-14 06:21  gb
5493
5494        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5495        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5496
54972006-10-14 06:20  gb
5498
5499        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5500        little differently.
5501       
5502        Add xchg-registers.
5503
55042006-10-13 04:54  gb
5505
5506        * compiler/nx1.lisp: Use new NUMCMP operator.
5507
55082006-10-13 04:53  gb
5509
5510        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5511        in effect at call time, not those in effect at definition time.
5512
55132006-10-13 04:50  gb
5514
5515        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5516        inlining issues.
5517
55182006-10-13 04:30  gb
5519
5520        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5521
55222006-10-12 19:46  gb
5523
5524        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5525        "--" is seen.
5526
55272006-10-12 19:45  gb
5528
5529        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5530        newline translation differenly (at the character I/O level, not the
5531        buffer level).
5532       
5533        All character encoding/decoding functions operate on octets, not
5534        necessarily code units.  (The stream encode/decode functions are an
5535        exception; serialization and byte ordering are handled by the
5536        stream.)
5537
55382006-10-09 16:34  gb
5539
5540        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5541        encode a character in (implicit) iso-8859-1.
5542
55432006-10-09 16:33  gb
5544
5545        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5546        a replacement character.
5547
55482006-10-09 16:31  gb
5549
5550        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5551        write/read something, even if it's a replacement character of some
5552        sort.
5553
55542006-10-09 15:19  gb
5555
5556        * level-1/l1-streams.lisp: More stuff about line termination.  When
5557        will this end ?
5558
55592006-10-09 15:19  gb
5560
5561        * lib/chars.lisp: Use a hashtable to map characters to their names.
5562         (Maybe a sparse vector ?).
5563
55642006-10-09 15:18  gb
5565
5566        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5567        their names.  (Maybe a sparse vector ?).
5568       
5569        Define #\Sub and #\Replacement_Character.
5570
55712006-10-08 21:17  gb
5572
5573        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5574        NEW-BACKTRACE for a while now.
5575
55762006-10-08 21:16  gb
5577
5578        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5579        Panther happy.
5580
55812006-10-08 20:30  gb
5582
5583        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5584
55852006-10-08 20:30  gb
5586
5587        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5588        pathname, before it's too late ...
5589
55902006-10-08 20:29  gb
5591
5592        * level-1/l1-unicode.lisp: ASCII, some other changes.
5593
55942006-10-08 20:29  gb
5595
5596        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5597        :line-termination option to MAKE-FD-STREAM.
5598
55992006-10-08 20:28  gb
5600
5601        * level-1/l1-streams.lisp: Yet another line-termination translation
5602        scheme; hopefully, the last for a while. (More tedium before it's
5603        actually installed.)
5604
56052006-10-08 20:27  gb
5606
5607        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5608        #\Paragraph_separator.
5609
56102006-10-07 20:35  gb
5611
5612        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5613
56142006-10-07 20:34  gb
5615
5616        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5617        kernel debugger if interactive streams aren't initialized yet.
5618        (We'd probably get there sooner or later in that case; try to get
5619        there sooner.)
5620
56212006-10-07 20:33  gb
5622
5623        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5624        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5625        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5626        method.)
5627
56282006-10-07 20:32  gb
5629
5630        * level-1/l1-application.lisp: Handle the (new)
5631        -K/--terminal-encoding command-line argument.
5632
56332006-10-07 11:14  gb
5634
5635        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5636        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5637        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5638
56392006-10-07 11:13  gb
5640
5641        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5642        entered when --batch is in effect.
5643
56442006-10-07 11:12  gb
5645
5646        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5647        PROCESS-EXIT-APPLICATION.
5648
56492006-10-07 11:11  gb
5650
5651        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5652        *stdout* here.
5653
56542006-10-06 04:49  gb
5655
5656        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5657        TRANSLATE slot to IO-BUFFER.
5658
56592006-10-06 04:40  gb
5660
5661        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5662
56632006-10-06 04:39  gb
5664
5665        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5666
56672006-10-06 04:38  gb
5668
5669        * level-1/version.lisp: Bump.
5670
56712006-10-06 04:38  gb
5672
5673        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5674        replacement character.
5675
56762006-10-05 14:46  gb
5677
5678        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5679
56802006-10-05 14:46  gb
5681
5682        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5683
56842006-10-05 14:46  gb
5685
5686        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5687        C-like value (all exceptions masked) before doing a callback.  (Not
5688        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5689        value, where most exceptions were unmasked, and this caused FP
5690        exceptions when calling out to foreign code with the "lispy"
5691        tcr.foreign_mxcsr in effect.)
5692       
5693        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5694        the spurious SIGTRAPs, but might be the right idea (and might save
5695        a context switch or two.)
5696       
5697        Mach exception stuff initializes rflags to exception rflags when
5698        arranging to resume thread at handler.  Leaving them uninitialized
5699        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5700        set.
5701
57022006-10-05 06:09  gb
5703
5704        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5705
57062006-10-05 06:09  gb
5707
5708        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5709        #\U+xxxx syntax.
5710
57112006-10-05 06:08  gb
5712
5713        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5714
57152006-10-05 06:07  gb
5716
5717        * level-1/l1-sysio.lisp: Try to get
5718        line-termination/external-format stuff working.
5719
57202006-10-05 05:35  gb
5721
5722        * level-1/l1-streams.lisp: Assume that character data is always
5723        encoded as one or more 8-bit octets.
5724
57252006-10-05 04:59  gb
5726
5727        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5728        just before we make the first one.
5729
57302006-10-02 08:13  gb
5731
5732        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5733        handlers, so we need to make handlers do a sigreturn after
5734        switching off the signal stack, etc.
5735
57362006-10-02 08:11  gb
5737
5738        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5739        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5740        handling for cleanup of tcr pending exception and since we can't
5741        easily restore the signal mask.)
5742       
5743        (Up until this point, SIGRETURN has been a nop on Darwin.)
5744
57452006-10-02 04:59  gb
5746
5747        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5748        earlier.
5749
57502006-10-02 04:47  gb
5751
5752        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5753        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5754        systems <= 10.4).
5755
57562006-10-02 02:46  gb
5757
5758        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5759        Try to make x86-64 version compile under 10.4 again; see if this
5760        breaks post-10.4 compilation.
5761
57622006-10-02 02:33  gb
5763
5764        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5765        x86-exceptions.h: Change things so that they compile for x86-64 on
5766        systems later than 10.4.  Almost certainly break 10.4 compilation
5767        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5768        hours on crap like this, just let me know!)
5769
57702006-09-27 20:33  gb
5771
5772        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5773
57742006-09-27 20:33  gb
5775
5776        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5777
57782006-09-27 05:46  gb
5779
5780        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5781        BASIC-STREAM classes a class prototype.
5782
57832006-09-27 05:45  gb
5784
5785        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5786        initialization, to make it easier to use MAKE-FD-STREAM to open
5787        (seekable) FILE-STREAMs.
5788
57892006-09-27 05:41  gb
5790
5791        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5792        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5793
57942006-09-27 05:39  gb
5795
5796        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5797        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5798        division-by-zero, but that should be masked when in foreign code.)
5799        Don't reload the lisp mxcsr until other registers have been popped,
5800        to make debugging easier in case it's the act of reloading the
5801        mxcsr that causes the spurious trap.)
5802
58032006-09-27 05:36  gb
5804
5805        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5806
58072006-09-27 05:35  gb
5808
5809        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5810        was parenthesized in such a way as to not return the error value on
5811        error.
5812
58132006-09-27 05:34  gb
5814
5815        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5816        passing context into the kernel makes it too difficult to debug/get
5817        backtrace, etc.)
5818
58192006-09-27 05:33  gb
5820
5821        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5822        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5823
58242006-09-27 05:05  gb
5825
5826        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5827        (mostly for BUILT-IN-CLASSes).
5828
58292006-09-26 20:49  gb
5830
5831        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5832        a BASIC-P argument.
5833
58342006-09-26 20:47  gb
5835
5836        * level-1/l1-streams.lisp: More changes.  Imagine that.
5837
58382006-09-26 20:46  gb
5839
5840        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5841        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5842
58432006-09-26 20:43  gb
5844
5845        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5846        take/return strings, not chars.
5847       
5848        Some bom stuff.
5849
58502006-09-24 20:14  gb
5851
5852        * lib/chars.lisp: Check for assumptions about character size.
5853        Remove some %i-isms (fixnum arithmetic), make assertions about type
5854        of char-code.
5855
58562006-09-24 20:12  gb
5857
5858        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5859        CHKBOUNDS function.  Simpler STRING-START-END.
5860
58612006-09-24 20:11  gb
5862
5863        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5864        Probably belongs elsewhere; some encodings may not make it at all
5865        possible.
5866
58672006-09-24 20:07  gb
5868
5869        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5870        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5871
58722006-09-24 20:00  gb
5873
5874        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5875        line-termination slot from ioblock and corresponding arg from
5876        functions which initialize it.
5877
58782006-09-24 19:59  gb
5879
5880        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5881        file-ioblock.
5882
58832006-09-24 19:58  gb
5884
5885        * level-1/l1-unicode.lisp: Buffer translation functions don't
5886        belong here; start thinking about BOM.
5887
58882006-09-24 19:57  gb
5889
5890        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5891        it's been a :u32const for the last few weeks ...
5892
58932006-09-24 04:29  gb
5894
5895        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5896        the code is within its bounds.
5897
58982006-09-24 04:27  gb
5899
5900        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5901        mappings in a vector and a hash table, rather than in an alist.
5902
59032006-09-24 04:26  gb
5904
5905        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5906        character constant fasl encoding ($fasl-char).
5907
59082006-09-23 05:31  gb
5909
5910        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5911        sure which are the most important.)
5912
59132006-09-23 05:29  gb
5914
5915        * level-1/l1-sysio.lisp: Start to separate
5916        line-termination/external-format stuff.
5917
59182006-09-23 05:28  gb
5919
5920        * level-1/l1-streams.lisp: Lots-o-changes.
5921
59222006-09-23 05:28  gb
5923
5924        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5925        UTF-8 (mostly for debugging utf-8 ...)
5926
59272006-09-21 04:07  gb
5928
5929        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5930        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5931        clobbered r11, sometimes didn't.)
5932
59332006-09-21 04:05  gb
5934
5935        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5936
59372006-09-21 04:05  gb
5938
5939        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5940        callback_for_interrupt.
5941
59422006-09-21 04:04  gb
5943
5944        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5945        x86-64 ucontext/mcontext on Darwin.
5946
59472006-09-21 04:02  gb
5948
5949        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5950        flavors.
5951       
5952        Add a type decl in %nanosleep.
5953
59542006-09-21 04:01  gb
5955
5956        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5957        vinsns.
5958
59592006-09-21 04:01  gb
5960
5961        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5962        values.  (Probably only matters in a few cases, like the Darwin
5963        x86-64 version of #_nanosleep, which returns a non-sign-extended
5964        "int" value if the sleep is interruted.)
5965
59662006-09-20 06:34  gb
5967
5968        * level-1/version.lisp: Bump.
5969
59702006-09-20 04:24  gb
5971
5972        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5973        slight improvements in signed-byte boxing, typechecking.
5974
59752006-09-20 04:22  gb
5976
5977        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
5978
59792006-09-20 04:21  gb
5980
5981        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
5982
59832006-09-20 04:21  gb
5984
5985        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
5986
59872006-09-20 04:20  gb
5988
5989        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
5990        versions.  Need a "logical" UTF-16, which deals with byte-order
5991        marks and a means of installing a concrete encoding.  Needs
5992        testing.
5993
59942006-09-20 04:15  gb
5995
5996        * level-1/l1-streams.lisp: Numerous changes.
5997
59982006-09-20 04:15  gb
5999
6000        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6001
60022006-09-20 04:14  gb
6003
6004        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6005        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6006
60072006-09-20 04:12  gb
6008
6009        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6010        8,16,32,64
6011
60122006-09-19 01:38  gb
6013
6014        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6015        vinsns for REQUIRE-[US][8,16,32,64]
6016
60172006-09-19 01:37  gb
6018
6019        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6020        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6021        64).
6022
60232006-09-19 01:36  gb
6024
6025        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6026
60272006-09-19 01:36  gb
6028
6029        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6030        operators.
6031
60322006-09-19 01:34  gb
6033
6034        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6035        require-[us][8,16,32,64] when possible.
6036
60372006-09-19 01:34  gb
6038
6039        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6040
60412006-09-19 01:33  gb
6042
6043        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6044
60452006-09-19 01:15  gb
6046
6047        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6048        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6049
60502006-09-19 00:36  gb
6051
6052        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6053
60542006-09-18 21:42  gb
6055
6056        * lib/macros.lisp: Macros for locking the input/output locks of an
6057        ioblock, assuming that it exists.
6058
60592006-09-17 00:45  gb
6060
6061        * level-1/l1-streams.lisp: more changes
6062
60632006-09-13 06:52  gb
6064
6065        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6066        WRITE-STRING, TERPRI.
6067
60682006-09-13 06:08  gb
6069
6070        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6071
60722006-09-13 06:07  gb
6073
6074        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6075        named encoding isn't defined.
6076       
6077        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6078
60792006-09-13 06:06  gb
6080
6081        * level-1/l1-streams.lisp: More functions in the ioblock, some
6082        support for 8-bit encodings (like utf-8).  Not finished, but
6083        getting hard to bootstrap; need to check in and build on all
6084        platforms before it gets even harder.
6085
60862006-09-12 05:34  gb
6087
6088        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6089        %copy-ivector-to-pointer) in BUG.
6090
60912006-09-12 05:31  gb
6092
6093        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6094        altstack_signal_handler is entered in foreign code.  (Maybe want to
6095        signal a lisp error in some cases, but this is currently fatal and
6096        we might as well die earlier than with a stack overflow.)
6097
60982006-09-12 05:29  gb
6099
6100        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6101        direction right on FreeBSD.  (Much better than randomly scribbling
6102        on memory in the GC, as the FreeBSD port has been doing for months
6103        now ...)
6104
61052006-09-11 21:31  gb
6106
6107        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6108        intersection.
6109
61102006-09-11 21:21  gb
6111
6112        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6113
61142006-09-11 20:10  gb
6115
6116        * level-1/l1-unicode.lisp: Character encodings contain a
6117        LITERAL-CHAR-CODE-LIMIT field.
6118
61192006-09-11 20:09  gb
6120
6121        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6122        functionality for encoded streams.
6123
61242006-09-11 20:08  gb
6125
6126        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6127
61282006-09-09 04:39  gb
6129
6130        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6131        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6132
61332006-09-09 04:21  gb
6134
6135        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6136        reasonable for ^c syntax; don't do MOD for octal.
6137
61382006-09-09 04:21  gb
6139
6140        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6141        agains boxed Unicode limit
6142
61432006-09-09 03:56  gb
6144
6145        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6146        x8664 functions, hash tables.  (PPC versions should handle hash
6147        table key movement.)
6148
61492006-09-08 22:47  gb
6150
6151        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6152        #x100.
6153
61542006-09-08 22:38  gb
6155
6156        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6157        FIXNUM->CHAR: return NIL for surrogate pairs.
6158
61592006-09-08 22:33  gb
6160
6161        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6162
61632006-09-08 22:31  gb
6164
6165        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6166        sanity-check fn/lr).
6167
61682006-09-08 18:55  gb
6169
6170        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6171        necessarily want arbitrary expressions to be compiled unsafely; do
6172        want to avoid a little type-checking sometimes.)
6173
61742006-09-08 18:52  gb
6175
6176        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6177        for values in the surrogate-pairs range.  (There are other things
6178        that it could plausibly return NIL for.)
6179
61802006-09-08 18:51  gb
6181
6182        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6183        now, just purify strings.
6184
61852006-09-08 18:48  gb
6186
6187        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6188        8), which is still useful (and exactly what it used to do.)
6189
61902006-09-08 18:47  gb
6191
6192        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6193
61942006-09-08 18:44  gb
6195
6196        * level-1/level-1.lisp: Load l1-unicode.
6197
61982006-09-08 18:44  gb
6199
6200        * level-1/l1-unicode.lisp: New file.
6201
62022006-09-07 03:50  gb
6203
6204        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6205
62062006-09-07 03:44  gb
6207
6208        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6209        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6210        attribute of the backend (may need more pure space on x86-64.)
6211
62122006-09-07 03:43  gb
6213
6214        * lisp-kernel/image.h: Bump abi version.
6215
62162006-09-07 03:43  gb
6217
6218        * level-1/version.lisp: Bump.
6219
62202006-09-07 02:58  gb
6221
6222        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6223        seems to mask synchronous signals.  Unmask them in signal handlers.
6224
62252006-09-07 02:57  gb
6226
6227        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6228        signal mask.
6229
62302006-09-07 02:56  gb
6231
6232        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6233        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6234        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6235        (char are 32 bits wide on all platforms now.)
6236
62372006-09-07 00:40  gb
6238
6239        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6240        SIGNUM_FOR_PROCESS_INTERRUPT.
6241
62422006-09-07 00:12  gb
6243
6244        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6245        box_fixnum_no_flags.
6246
62472006-09-07 00:12  gb
6248
6249        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6250        vice imul).
6251
62522006-09-06 21:18  gb
6253
6254        * compiler/X86/X8664/x8664-arch.lisp: Need
6255        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6256
62572006-09-06 18:37  gb
6258
6259        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6260        strings.
6261
62622006-09-06 18:36  gb
6263
6264        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6265        typecodes.
6266
62672006-09-06 18:36  gb
6268
6269        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6270        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6271
62722006-09-06 18:35  gb
6273
6274        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6275        contains entry for 32-bit BASE-CHAR.
6276
62772006-09-06 18:35  gb
6278
6279        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6280        extracting typecodes.
6281
62822006-09-06 18:34  gb
6283
6284        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6285        32-bit-chars.
6286
62872006-09-06 18:33  gb
6288
6289        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6290        :rcontext pseudo-register name until the target backend is in
6291        place.
6292
62932006-09-06 16:39  gb
6294
6295        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6296        stuff for x8664.
6297
62982006-09-06 16:39  gb
6299
6300        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6301        don't mix!
6302
63032006-09-06 16:38  gb
6304
6305        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6306
63072006-09-06 16:38  gb
6308
6309        * level-1/linux-files.lisp: process input/output: don't assume
6310        8-bit strings.
6311
63122006-09-06 14:42  gb
6313
6314        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6315        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6316        (since that creates confustion when cross-compiling from a
6317        non-poweropen host.)
6318
63192006-09-06 00:08  gb
6320
6321        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6322        8-bit char stuff.
6323
63242006-09-06 00:08  gb
6325
6326        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6327        here.
6328
63292006-09-05 22:49  gb
6330
6331        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6332        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6333
63342006-09-05 22:42  gb
6335
6336        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6337        of a non-simple string, understand char width issues.
6338
63392006-09-05 22:41  gb
6340
6341        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6342
63432006-09-05 22:40  gb
6344
6345        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6346        string type.
6347
63482006-09-05 22:39  gb
6349
6350        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6351
63522006-09-05 22:38  gb
6353
6354        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6355
63562006-09-05 09:13  gb
6357
6358        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6359        32-bit chars, too.
6360
63612006-09-05 09:01  gb
6362
6363        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6364        defaults to 32-bit chars.
6365
63662006-09-05 05:18  gb
6367
6368        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6369
63702006-09-05 05:18  gb
6371
6372        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6373        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6374
63752006-09-05 05:17  gb
6376
6377        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6378        for char size.
6379
63802006-09-05 05:16  gb
6381
6382        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6383        strings.
6384
63852006-09-05 05:15  gb
6386
6387        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6388        lisp_char_code; this may be more portable.
6389
63902006-09-05 05:14  gb
6391
6392        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6393
63942006-09-05 05:13  gb
6395
6396        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6397        8-bit char/strings.
6398
63992006-09-05 05:13  gb
6400
6401        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6402        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6403        the coding system in use.)
6404
64052006-09-05 05:09  gb
6406
6407        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6408        assume 8-bit strings.
6409
64102006-09-05 05:08  gb
6411
6412        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6413
64142006-09-05 05:07  gb
6415
6416        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6417        when #-target-8-bit-chars.
6418
64192006-09-05 05:06  gb
6420
6421        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6422        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6423
64242006-09-05 05:05  gb
6425
6426        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6427        :SIMPLE-STRING case with constant index.
6428
64292006-09-04 17:44  gb
6430
6431        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6432        "unsigned char", and cross fingers.
6433
64342006-09-04 17:38  gb
6435
6436        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6437        lisp_char_code type, use it when printing lisp string in the kernel
6438        debugger.
6439
64402006-09-04 17:28  gb
6441
6442        * level-1/version.lisp: Bump.
6443
64442006-09-04 17:18  gb
6445
6446        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6447        conditionalized backwards in PPC64 %INIT-MISC.
6448
64492006-09-04 17:05  gb
6450
6451        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6452        from the target arch (for bootstrapping.)
6453
64542006-09-04 17:04  gb
6455
6456        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6457        type of rdtab.ttab.
6458       
6459        Don't treat (code-char #xca) as whitespace; do treat (code-char
6460        #xa0) as whitespace.  (The former happens to be how the latter was
6461        encoded in MacRoman.)
6462       
6463        Handle U+<hex> syntax in NAME-CHAR.
6464
64652006-09-04 16:16  gb
6466
6467        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6468        and the char code with #xff to get the low byte.
6469
64702006-09-04 16:15  gb
6471
6472        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6473        and the char code with #xff or 255., not with #x255.  (Cause lots
6474        of wackiness, mostly in readtable initialization.)
6475
64762006-09-04 16:12  gb
6477
6478        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6479        u8->char (which is no more) in %CHAR-CODE.
6480
64812006-09-04 06:04  gb
6482
6483        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6484        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6485
64862006-09-04 06:03  gb
6487
6488        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6489        assertion.
6490
64912006-09-04 03:44  gb
6492
6493        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6494
64952006-09-04 03:43  gb
6496
6497        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6498        crf case of UNBOX-BASE-CHAR.
6499
65002006-09-04 02:30  gb
6501
6502        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6503        error.
6504
65052006-09-04 02:29  gb
6506
6507        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6508        size.
6509
65102006-09-04 02:26  gb
6511
6512        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6513        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6514        CHAR_SIZE_32.
6515
65162006-09-04 02:24  gb
6517
6518        * compiler/PPC/PPC32/ppc32-arch.lisp,
6519        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6520        compiler/PPC/PPC64/ppc64-arch.lisp,
6521        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6522        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6523
65242006-09-04 02:23  gb
6525
6526        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6527        32-bit characters.
6528
65292006-09-04 02:22  gb
6530
6531        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6532
65332006-09-03 16:03  gb
6534
6535        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6536        conditionalize new string types.
6537
65382006-09-03 16:03  gb
6539
6540        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6541        string element size.
6542
65432006-09-03 16:02  gb
6544
6545        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6546        level-0/l0-pred.lisp: Sketch out new string types (read-time
6547        conditionalized.)
6548
65492006-09-03 15:02  gb
6550
6551        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6552        bootstrapping.
6553
65542006-09-03 14:20  gb
6555
6556        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6557
65582006-09-03 13:22  gb
6559
6560        * compiler/: X86/X8664/x8664-backend.lisp,
6561        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6562        :target-8-bit-chars on target features.
6563
65642006-09-03 13:21  gb
6565
6566        * level-0/l0-int.lisp: Some comments/indentation.
6567
65682006-09-03 13:01  gb
6569
6570        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6571        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6572
65732006-09-02 11:24  gb
6574
6575        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6576
65772006-09-02 11:15  gb
6578
6579        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6580        a hex digit.
6581
65822006-09-02 11:11  gb
6583
6584        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6585        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6586       
6587        Don't do the whole msg_server here; just do the exc_server thing.
6588       
6589        Fix a couple of Mach exception-handling bugs; at least one more may
6590        remain.
6591
65922006-09-02 11:07  gb
6593
6594        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6595        pseudo_sigreturn.
6596       
6597        Still get spurious SIGTRAPs.
6598
65992006-09-02 11:06  gb
6600
6601        * lisp-kernel/thread_manager.c: Define some things in terms of
6602        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6603       
6604        sem_wait_forever() does repeated timed waits, since I thought that
6605        Darwin was having trouble interrpting things that waited
6606        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6607
66082006-09-02 11:03  gb
6609
6610        * lisp-kernel/Threads.h: Define some things in terms of
6611        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6612        2006, Darwin still doesn't implement enough POSIX semaphore
6613        functionality to make it possible to avoid the use of Mach
6614        semaphores.
6615
66162006-09-02 11:01  gb
6617
6618        * lib/db-io.lisp:
6619        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6620        involved.
6621
66222006-09-02 11:01  gb
6623
6624        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6625        aren't bogus objects.
6626
66272006-09-02 11:00  gb
6628
6629        * level-1/l1-streams.lisp: Try to avoid things like
6630        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6631
66322006-09-02 10:59  gb
6633
6634        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6635        FORCE-OUTPUT.
6636
66372006-09-02 10:57  gb
6638
6639        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6640        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6641       
6642        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6643        chars.
6644       
6645        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6646
66472006-09-02 10:55  gb
6648
6649        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6650        don't assume 8-bit chars.
6651
66522006-08-28 17:35  gb
6653
6654        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6655        misc_set_single_float_vector.
6656
66572006-08-28 17:01  gb
6658
6659        * xdump/faslenv.lisp: Bump max fasl version.
6660
66612006-08-28 16:48  gb
6662
6663        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6664
66652006-08-28 16:33  gb
6666
6667        * xdump/faslenv.lisp: Bump (max) fasl version.
6668
66692006-08-28 16:30  gb
6670
6671        * xdump/xfasload.lisp: xloader was missing a few new ops.
6672
66732006-08-28 05:34  gb
6674
6675        * xdump/xfasload.lisp: New string stuff here, too.
6676
66772006-08-28 05:28  gb
6678
6679        * level-0/nfasload.lisp: New string stuff.
6680
66812006-08-28 04:57  gb
6682
6683        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6684        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6685
66862006-08-28 04:57  gb
6687
6688        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6689        STREAM-READ-CHAR, since it may be faster in some cases.
6690
66912006-08-28 04:56  gb
6692
6693        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6694        (don't assume ioblock-based stream.)
6695
66962006-08-28 04:55  gb
6697
6698        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6699
67002006-08-28 04:55  gb
6701
6702        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6703         (Maybe not even cosmetic.)
6704
67052006-08-28 04:54  gb
6706
6707        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6708        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6709
67102006-08-28 04:53  gb
6711
6712        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6713
67142006-08-28 04:52  gb
6715
6716        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6717        ?  For how long will limit be 2^8 ?
6718
67192006-08-28 04:51  gb
6720
6721        * level-0/nfasload.lisp: More fasl ops.
6722
67232006-08-28 04:51  gb
6724
6725        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6726        u8-vref stuff.
6727
67282006-08-28 04:50  gb
6729
6730        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6731        not be the best way to do this.
6732
67332006-08-26 13:58  gb
6734
6735        * release-notes.txt: Updated.
6736
67372006-08-26 13:50  gb
6738
6739        * release-notes.txt: Updated.
6740
67412006-08-26 13:50  gb
6742
6743        * darwin-x86-headers64/libc/.cvsignore: Added.
6744
67452006-08-26 03:17  gb
6746
6747        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6748
67492006-08-26 03:12  gb
6750
6751        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6752        problems as always, but avoids problems with Darwin x86-64 ld64
6753        segfaulting for unknown reasons.
6754
67552006-08-26 03:11  gb
6756
6757        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6758        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6759        that we can't just return to after switching off of the alt stack.)
6760
67612006-08-26 03:08  gb
6762
6763        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6764        deciding whether or not to signal overflow.
6765
67662006-08-26 03:08  gb
6767
6768        * level-1/x86-trap-support.lisp: Need an indirection to access
6769        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6770        mcontext64.ss.
6771
67722006-08-26 03:06  gb
6773
6774        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6775        easier to step through.
6776
67772006-08-26 03:05  gb
6778
6779        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6780        in case.
6781
67822006-08-25 20:35  gb
6783
6784        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6785        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6786        REMOVE-AUTO-FLUSH-STREAM.
6787       
6788        Export them, too.
6789
67902006-08-25 20:22  gb
6791
6792        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6793        STREAM-READ-LINE.
6794
67952006-08-25 20:22  gb
6796
6797        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6798        most once but doesn't have to be the last clause.
6799
68002006-08-25 20:21  gb
6801
6802        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6803        INPUT-STREAM.
6804       
6805        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6806
68072006-08-25 20:19  gb
6808
6809        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6810        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6811        so unlock those streams with extreme prejudice before closing them.
6812
68132006-08-25 20:18  gb
6814
6815        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6816        code that assumed that interfered with handling of relative logical
6817        pathnames.
6818
68192006-08-25 20:17  gb
6820
6821        * level-1/l1-events.lisp: Rename EVENT-POLL to
6822        AUTO-FLUSH-INTERACTIVE-STREAMS.
6823       
6824        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6825        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6826        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6827       
6828        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6829       
6830        REMOVE-AUTOFLUSH-STREAM.
6831
68322006-08-25 20:13  gb
6833
6834        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6835        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6836
68372006-08-23 22:59  gb
6838
6839        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6840        SIGFPE.
6841       
6842        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6843
68442006-08-23 22:58  gb
6845
6846        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6847        pretty casual about causing spurious exceptions, so ignore them.
6848
68492006-08-23 22:57  gb
6850
6851        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6852        version, with different signals to be ignored by gdb.
6853
68542006-08-23 22:56  gb
6855
6856        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6857        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6858        Use int $0 instead.
6859
68602006-08-23 22:55  gb
6861
6862        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6863        support; may need more work.
6864
68652006-08-22 02:08  gb
6866
6867        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6868        for printing integers), since it seems to need access to pthread
6869        data (and calling print_lisp_object() from GDB might fail if %gs is
6870        pointing at the lisp TCR.)
6871
68722006-08-22 02:06  gb
6873
6874        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6875        earlier in _SPffcall, before entering foreign context.  (Need to
6876        check PPC version(s) as well.)
6877       
6878        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6879        between foreign code and lisp.
6880
68812006-08-22 02:04  gb
6882
6883        * lisp-kernel/x86-macros.s: Fix a typo.
6884
68852006-08-22 02:04  gb
6886
6887        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6888
68892006-08-22 02:03  gb
6890
6891        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6892        exception handling code.
6893       
6894        Do the DARWIN_GS_HACK things to overload %gs.
6895
68962006-08-22 02:02  gb
6897
6898        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6899        for DarwinX8664.
6900
69012006-08-22 02:01  gb
6902
6903        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6904        should really have tested WORD_SIZE.
6905       
6906        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6907        not be necessary.)
6908       
6909        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6910
69112006-08-22 01:59  gb
6912
6913        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6914        x8664.
6915       
6916        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6917
69182006-08-22 01:58  gb
6919
6920        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6921        FreeBSDX664, DarwinX8664.
6922
69232006-08-22 01:57  gb
6924
6925        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6926        lower seg1addr.
6927       
6928        Something in the (m4-generated) symbolic info in some .s files is
6929        screwy and causes ld64 to segfault; it's currently necesssary to
6930        use "strip -S" on the assembler-generated .o files.
6931
69322006-08-22 01:55  gb
6933
6934        * scripts/openmcl64: Untested changes for Darwinx8664.
6935
69362006-08-22 01:54  gb
6937
6938        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6939        xload-backend-info (compiler target is :darwinx8664, not
6940        :linuxx8664).
6941
69422006-08-22 01:53  gb
6943
6944        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6945        cross-compiling to x86 from x86.
6946
69472006-08-22 01:52  gb
6948
6949        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6950        (not :DARWINPPC-TARGET).
6951
69522006-08-22 01:50  gb
6953
6954        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6955
69562006-08-22 01:50  gb
6957
6958        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6959
69602006-08-22 01:49  gb
6961
6962        * level-1/version.lisp: Bump.
6963
69642006-08-22 01:49  gb
6965
6966        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6967        BASIC-STREAMs.
6968
69692006-08-22 01:48  gb
6970
6971        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
6972        DARWIN-TARGET, not DARWINPPC-TARGET.
6973
69742006-08-22 01:47  gb
6975
6976        * level-0/l0-init.lisp: DarwinX8664 *features*.
6977
69782006-08-22 01:47  gb
6979
6980        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
6981        really want to be DARWIN-TARGET.
6982
69832006-08-22 01:46  gb
6984
6985        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
6986        DarwinX8664.
6987
69882006-08-22 01:45  gb
6989
6990        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
6991        compiling natively.
6992       
6993        Fix X862-FIXUP-FWD-REFS if not native function on x86.
6994
69952006-08-22 01:44  gb
6996
6997        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
6998        is defined, even on x86.  Use it if not compiling natively on x86.
6999
70002006-08-20 23:59  gb
7001
7002        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7003
70042006-08-20 23:58  gb
7005
7006        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7007
70082006-08-20 23:58  gb
7009
7010        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7011        prototypes for DARWIN_GS_HACK %gs segment switching.
7012
70132006-08-20 23:57  gb
7014
7015        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7016        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7017       
7018        This isn't so bad, but doing it around every ff-call might be.
7019
70202006-08-20 23:56  gb
7021
7022        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7023
70242006-08-20 23:53  gb
7025
7026        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7027
70282006-08-20 23:51  gb
7029
7030        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7031
70322006-08-20 23:51  gb
7033
7034        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7035        also temporary.
7036
70372006-08-20 23:50  gb
7038
7039        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7040        mcontext64 in x8664 Darwin is temporary.
7041
70422006-08-20 20:35  gb
7043
7044        * library/darwinx664-syscalls.lisp: typo
7045
70462006-08-20 20:35  gb
7047
7048        * library/darwinx8664-syscalls.lisp: spell name right
7049
70502006-08-20 17:10  gb
7051
7052        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7053
70542006-08-20 17:10  gb
7055
7056        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7057        (do other things still use read-time conditionals ?)
7058
70592006-08-20 17:09  gb
7060
7061        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7062        setup syscall mask.
7063
70642006-08-20 17:08  gb
7065
7066        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7067        well.
7068
70692006-08-20 17:06  gb
7070
7071        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7072        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7073        word-size issues.)
7074
70752006-08-20 17:03  gb
7076
7077        * library/darwinppc-syscalls.lisp: Mask for PPC.
7078
70792006-08-20 17:02  gb
7080
7081        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7082        level-1/linux-files.lisp: Syscall conditionalization.
7083
70842006-08-20 17:01  gb
7085
7086        * level-1/l1-streams.lisp: Syscall conditionalization.
7087       
7088        SELECTION-INPUT-STREAM created with :sharing :lock.
7089
70902006-08-20 17:00  gb
7091
7092        * examples/objc-runtime.lisp: Fencepost in
7093        POINTER-IN-CFSTRING-SECTION-P.
7094
70952006-08-20 16:16  gb
7096
7097        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7098
70992006-08-18 09:50  gb
7100
7101        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7102        x8664.  Should do this on PPC as well, and should probably offer
7103        some backward-compatible behavior for reader.
7104
71052006-08-18 09:47  gb
7106
7107        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7108        backend a little.
7109       
7110        Explicily define lisp-context-register slot in each backend (%gs
7111        for those imolementations that follow the standard ABI, %fs for
7112        Darwin.)
7113
71142006-08-18 09:44  gb
7115
7116        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7117        necessary.
7118
71192006-08-18 09:43  gb
7120
7121        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7122        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7123        slot.
7124
71252006-08-18 09:42  gb
7126
7127        * compiler/backend.lisp: Backend now has a lisp-context-register
7128        slot.
7129
71302006-08-18 09:42  gb
7131
7132        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7133
71342006-08-18 09:40  gb
7135
7136        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7137        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7138        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7139        and play like the other children.
7140
71412006-08-18 09:29  gb
7142
7143        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7144        code from the PPC version and tweak it a little; needs more work.
7145
71462006-08-18 09:27  gb
7147
7148        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7149        conditionalization.
7150
71512006-08-18 09:25  gb
7152
7153        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7154       
7155        Generate an equate for HAVE_TLS.
7156
71572006-08-18 09:23  gb
7158
7159        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7160
71612006-08-18 09:19  gb
7162
7163        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7164        absolute jumps, prefers slower ones.
7165       
7166        Move lock prefixes to their own lines, to satisfy you-know-who.
7167       
7168        If we don't have thread-local-storage (TLS), it's hard to avoid the
7169        get_tcr() call on each calback.
7170
71712006-08-18 09:13  gb
7172
7173        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7174        that we HAVE_TLS.
7175
71762006-08-17 10:41  phil
7177
7178        * examples/FFI/:
7179        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7180        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7181        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7182        Using-basic-calls-and-types/Readme.rtf,
7183        Using-basic-calls-and-types/typetest-compile.sh,
7184        Using-basic-calls-and-types/typetest.c,
7185        Using-basic-calls-and-types/typetest.lisp: Initial version
7186
71872006-08-17 10:40  phil
7188
7189        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7190        [no log message]
7191
71922006-08-08 13:07  gb
7193
7194        * lisp-kernel/darwinx8664/Makefile: New file.
7195
71962006-08-08 13:07  gb
7197
7198        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7199
72002006-08-08 13:06  gb
7201
7202        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7203
72042006-08-08 13:05  gb
7205
7206        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7207        instructions on the same line as the locked instruction.  (Maybe
7208        there's a better way to do this, than just pretending that lock is
7209        a standalone instruction, but that lock instruction does seem to be
7210        treated as a prefix.)
7211
72122006-08-08 13:03  gb
7213
7214        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7215        dlfcn) on Darwin.
7216
72172006-08-08 13:02  gb
7218
7219        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7220        doesn't define mcontext64, but lots of other things reference it.
7221        #define it here for now, but that'll likely break when the headers
7222        are fixed.
7223
72242006-08-08 12:58  gb
7225
7226        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7227
72282006-08-08 12:58  gb
7229
7230        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7231        x8664/Darwin.
7232
72332006-07-29 08:41  gb
7234
7235        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7236         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7237        needs READ/WRITE- SEQUENCE support.
7238
72392006-07-29 07:39  gb
7240
7241        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7242        lock.  TODO: evaluate whether resources are worthwhile;  used for
7243        string-output-stream allocation and DELETE-DUPLICATES.
7244
72452006-07-29 06:27  gb
7246
7247        * library/lispequ.lisp: Resources aren't thread-private, need
7248        locks.
7249
72502006-07-29 06:26  gb
7251
7252        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7253        BASIC-STREAMs.
7254
72552006-07-29 06:26  gb
7256
7257        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7258        default.
7259
72602006-07-29 06:25  gb
7261
7262        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7263        been used in 10 or 12 years.
7264
72652006-07-29 03:40  gb
7266
7267        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7268
72692006-07-29 03:40  gb
7270
7271        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7272        for now.
7273
72742006-07-29 03:39  gb
7275
7276        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7277        makes one more slot in BASIC-FILE-STREAM.
7278
72792006-07-28 04:17  gb
7280
7281        * level-1/version.lisp: Bump.
7282
72832006-07-28 04:15  gb
7284
7285        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7286        in IOBLOCK.
7287
72882006-07-28 01:17  gb
7289
7290        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7291
72922006-07-28 01:16  gb
7293
7294        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7295
72962006-07-28 00:58  gb
7297
7298        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7299        output.
7300       
7301        (SLIME probably faces the same issue; should probably do something
7302        in the auto-flush case.  Of course, it's hard to know just what to
7303        do in that case. or at least what to do safely in that case.)
7304
73052006-07-28 00:49  gb
7306
7307        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7308        FUNDAMENTAL-FILE-STREAM.
7309
73102006-07-28 00:49  gb
7311
7312        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7313
73142006-07-28 00:48  gb
7315
7316        * library/lispequ.lisp: Need an explicit
7317        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7318
73192006-07-28 00:47  gb
7320
7321        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7322
73232006-07-25 03:48  gb
7324
7325        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7326
73272006-07-24 04:55  gb
7328
7329        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7330        BASIC-STREAMs.
7331
73322006-07-24 04:55  gb
7333
7334        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7335        appear.
7336
73372006-07-24 04:51  gb
7338
7339        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7340
73412006-07-24 02:43  gb
7342
7343        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7344        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7345        implementation of it (and BASIC-FILE-STREAM soon will be.)
7346
73472006-07-23 03:05  gb
7348
7349        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7350
73512006-07-23 03:03  gb
7352
7353        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7354        and is inlined.
7355       
7356        Some bug fixes; STREAM class no longer has slots.
7357       
7358        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7359        variants; fix read-byte botch (should vector according to
7360        element-type.)
7361
73622006-07-23 02:54  gb
7363
7364        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7365        STREAM-IOBLOCK now takes 2 required args.
7366
73672006-07-23 02:54  gb
7368
7369        * level-1/version.lisp: Bump.
7370
73712006-07-23 02:53  gb
7372
7373        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7374        like.
7375
73762006-07-23 02:53  gb
7377
7378        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7379       
7380        Likewise WITH-EAGAIN.
7381
73822006-07-23 01:12  gb
7383
7384        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7385        l1-sockets.lisp: Fix a few botches.
7386       
7387        :private arg to stream creation primitives replaced with :sharing,
7388        which can have values:
7389       
7390         :private (the default; stream can only be accessed by the creating
7391        thread)
7392         :lock  (the old, often slow, default); most accesses to stream
7393        involve locking
7394         :nil or :external (stream code doesn't enforce exclusion).
7395
73962006-07-22 23:57  gb
7397
7398        * level-1/l1-streams.lisp: Bootstrapping stuff.
7399       
7400        Move along, nothing to see here.
7401
74022006-07-20 03:43  gb
7403
7404        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7405        l1-sysio.lisp: First (rough) cut at making streams "private"
7406        (effectively always locked by the "owning" thread) to reduce some
7407        locking overhead.  More to come, some of which will be a little
7408        tricky to bootstrap.
7409
74102006-07-20 01:09  gb
7411
7412        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7413        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7414        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7415
74162006-07-20 01:09  gb
7417
7418        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7419
74202006-07-20 01:08  gb
7421
7422        * level-1/version.lisp: Bump.
7423
74242006-07-20 01:07  gb
7425
7426        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7427         A little tricky to bootstrap.
7428
74292006-07-20 01:05  gb
7430
7431        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7432        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7433        (istruct-based) lisp-thread accessors.
7434
74352006-07-20 01:02  gb
7436
7437        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7438        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7439        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7440        BASIC-STREAM.
7441
74422006-07-15 15:02  gb
7443
7444        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7445        IMPOSSIBLE-NUMBER condition :REPORT method.
7446
74472006-07-15 15:00  gb
7448
7449        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7450        simple vector operations unless we're sure that the vector is a
7451        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7452        leaping into the simple-typed-vector case when the element-type was
7453        known but the vector wasn't known to be SIMPLE.
7454
74552006-07-14 05:57  gb
7456
7457        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7458
74592006-07-13 16:01  gb
7460
7461        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7462        know about FIXNUM arrays.
7463
74642006-07-11 14:23  gb
7465
7466        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7467        (2-address instructions) in natural logical, arithmetic operations.
7468
74692006-07-05 02:38  gb
7470
7471        * release-notes.txt: Update.
7472
74732006-07-05 02:22  gb
7474
7475        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7476        its removal needs to be better publicized.
7477
74782006-07-04 22:24  gb
7479
7480        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7481        PROGRAM arg to RUN-PROGRAM.
7482
74832006-07-04 22:23  gb
7484
7485        * level-1/version.lisp: Bump.
7486
74872006-06-29 02:11  gb
7488
7489        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7490        image-abi-version.
7491
74922006-06-28 05:24  gb
7493
7494        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7495        pointer on DarwinPPC32 (at the very least, that platform's
7496        xFindSymbol gets confused by anything but a null pointer/global
7497        lookup.)
7498
74992006-06-28 05:09  gb
7500
7501        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7502        "Alpha", which may be a bit generous (pretty regular deadlock,
7503        random thread creation errors, other bugs.)
7504
75052006-06-28 05:07  gb
7506
7507        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7508        x86-64 version.
7509
75102006-06-28 04:04  gb
7511
7512        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7513        identifying the cause of XMM FP exceptions.  Try to do that by
7514        looking at MXCSR bits.
7515
75162006-06-28 04:03  gb
7517
7518        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7519        indicate error return.
7520
75212006-06-28 04:03  gb
7522
7523        * level-1/: l1-sockets.lisp, linux-files.lisp,
7524        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7525
75262006-06-28 04:02  gb
7527
7528        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7529        breakpoint.
7530
75312006-06-27 18:08  gb
7532
7533        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7534
75352006-06-27 17:30  gb
7536
7537        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7538
75392006-06-27 17:27  gb
7540
7541        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7542        portable; possibly break it completely ...
7543
75442006-06-27 08:55  gb
7545
7546        * lisp-kernel/x86-exceptions.c: map the altstack
7547        read/write/execute.
7548
75492006-06-27 08:54  gb
7550
7551        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7552        FreeBSD.
7553
75542006-06-27 08:54  gb
7555
7556        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7557        <pthread_np.h>
7558
75592006-06-27 08:53  gb
7560
7561        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7562        :freebsdx8664.
7563
75642006-06-27 08:53  gb
7565
7566        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7567        testing.)
7568       
7569        Don't conditionalize as much code. Indices/offsets are
7570        platform-specific, but accessors defiend in terms of them needn't
7571        be.
7572
75732006-06-27 08:51  gb
7574
7575        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7576        comment.)
7577
75782006-06-27 08:50  gb
7579
7580        * level-0/l0-init.lisp: More freebsd x8664 features.
7581
75822006-06-27 08:50  gb
7583
7584        * scripts/openmcl64: Update for FreeBSD/amd64.
7585
75862006-06-27 08:47  gb
7587
7588        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7589        :freebsdx8664-target as a target-specific-feature.
7590
75912006-06-27 05:05  gb
7592
7593        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7594        freebsd8664/elf_x86_64.x: directory rename
7595
75962006-06-27 04:59  gb
7597
7598        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7599
76002006-06-27 04:47  gb
7601
7602        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7603
76042006-06-27 04:46  gb
7605
7606        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7607        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7608
76092006-06-27 04:45  gb
7610
7611        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7612       
7613        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7614
76152006-06-27 04:44  gb
7616
7617        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7618        suspend_resume_handler.
7619
76202006-06-27 04:44  gb
7621
7622        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7623        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7624
76252006-06-27 04:43  gb
7626
7627        * lisp-kernel/imports.s: Don't import metering-control; do import
7628        get_r_debug().
7629
76302006-06-27 04:42  gb
7631
7632        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7633        word-size stuff (here and in other versions.)
7634
76352006-06-27 04:42  gb
7636
7637        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7638        FreeBSD.
7639
76402006-06-27 04:39  gb
7641
7642        * lib/foreign-types.lisp: Signed char nonsense (should use target
7643        ftd, not reader macros here.)
7644
76452006-06-27 04:38  gb
7646
7647        * lib/compile-ccl.lisp: Some FreeBSD support.
7648
76492006-06-27 04:36  gb
7650
7651        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7652        Some FreeBSD changes/conditionalization. Maybe not enough.
7653
76542006-06-27 04:35  gb
7655
7656        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7657
76582006-06-27 04:34  gb
7659
7660        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7661
76622006-06-27 04:34  gb
7663
7664        * level-0/l0-io.lisp: FreeBSD syscalls.
7665
76662006-06-27 04:33  gb
7667
7668        * level-0/l0-init.lisp: Some FreeBSD features.
7669
76702006-06-27 04:33  gb
7671
7672        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7673        changes.
7674       
7675        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7676        and test.
7677       
7678        Now depends on an imported lisp-kernel function on ELF platforms
7679        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7680
76812006-06-27 04:30  gb
7682
7683        * level-0/.cvsignore: Ignore *fsl.
7684
76852006-06-27 04:29  gb
7686
7687        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7688        in freebsd backend.
7689
76902006-06-27 04:27  gb
7691
7692        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7693        metering-control; do import get-r-debug (for Elf shared libraries.)
7694       
7695        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7696
76972006-06-27 04:26  gb
7698
7699        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7700        Don't import metering-control; do import get-r-debug (for Elf
7701        shared libraries.)
7702
77032006-06-27 04:26  gb
7704
7705        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7706
77072006-06-26 16:38  gb
7708
7709        * compiler/X86/X8664/x8664-vinsns.lisp:
7710        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7711        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7712        constant #xffff000000000000 come from ?
7713
77142006-06-26 16:35  gb
7715
7716        * compiler/X86/x862.lisp: Fix some indentation.
7717
77182006-06-25 20:32  gb
7719
7720        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7721        change initialiation of x8664 foreign-type stuff.
7722
77232006-06-25 20:31  gb
7724
7725        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7726
77272006-06-23 19:52  gb
7728
7729        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7730        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7731
77322006-06-23 19:28  gb
7733
7734        * release-notes.txt: Update some.
7735
77362006-06-23 19:11  gb
7737
7738        * examples/gtk2-clock.lisp: New file.
7739
77402006-06-23 18:56  gb
7741
7742        * level-1/version.lisp: Bump.
7743
77442006-06-23 18:52  gb
7745
7746        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7747
77482006-06-22 13:39  gb
7749
7750        * x86-headers64/gnome2/C/.cvsignore: new
7751
77522006-06-22 13:36  gb
7753
7754        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7755
77562006-06-22 13:33  gb
7757
7758        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7759        gnome2/.cvsignore: new
7760
77612006-06-22 13:30  gb
7762
7763        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7764
77652006-06-22 13:28  gb
7766
7767        * level-1/version.lisp: Bump.
7768
77692006-06-21 15:15  gb
7770
7771        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7772        ppc-spentry.s: Define new string subtags; handle them in ppc64
7773        misc_ref/misc_set.
7774
77752006-06-21 15:14  gb
7776
7777        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7778        versions) to handle FIXNUM vectors, new UCS4 strings.
7779
77802006-06-21 15:14  gb
7781
7782        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7783        versions) to handle FIXNUM vectors, new UCS4 strings.
7784
77852006-06-21 15:12  gb
7786
7787        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7788        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7789        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7790
77912006-06-21 15:11  gb
7792
7793        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7794
77952006-06-21 15:11  gb
7796
7797        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7798        wasn't updated with the introduction of fixnum vectors, (unused)
7799        UCS4 "new"strings.
7800
78012006-06-16 03:50  gb
7802
7803        * examples/objc-support.lisp: Re-compute static NSString info after
7804        opening an extension framework.
7805
78062006-06-16 03:45  gb
7807
7808        * examples/webkit.lisp: Use new functions for augmenting
7809        interfaces, loading framework.
7810
78112006-06-16 03:43  gb
7812
7813        * examples/objc-runtime.lisp: Juggle things around so that add-on
7814        framework bundles get loaded on appication re-launch.
7815       
7816        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7817        since (a) it may not be there, or may not be where we can find it
7818        yet and (b) it's probably more reasonable to do that than it would
7819        be to teach CLOS about classes that're "discovered" when the
7820        appication's launched on a newer OS release than it was saved on.
7821
78222006-06-16 03:39  gb
7823
7824        * examples/cocoa-application.lisp: Touch tha application bundle
7825        before saving an image into it.  That -may- convincve
7826        LaunchServices to do the right thing.
7827
78282006-06-16 03:38  gb
7829
7830        * examples/objc-support.lisp: Reload any addon/framework bundles
7831        that had been loaded before the image was saved when starting a
7832        bundled application.
7833       
7834        Juggle things around, so that that works (need to be able to use
7835        low-level bridge features early.)
7836
78372006-06-16 03:36  gb
7838
7839        * lib/db-io.lisp: Disable the #? reader macro.
7840
78412006-06-14 15:42  gb
7842
7843        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7844        lfun-bits.
7845
78462006-06-12 20:24  gb
7847
7848        * lib/ppc-backtrace.lisp: PPC version of
7849        %find-register-argument-value had the same sort of fencepost as the
7850        x86-64 version had a few days ago.
7851
78522006-06-10 23:52  gb
7853
7854        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7855        its GENERIC-FUNCTION-LAMBDA-LIST.
7856
78572006-06-10 23:51  gb
7858
7859        * level-1/l1-clos.lisp: Give reader/writer method args more
7860        descriptive names. (Barely more descriptive ...)
7861
78622006-06-10 19:25  gb
7863
7864        * level-1/l1-clos-boot.lisp: Arrgh.  In
7865        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7866        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7867        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7868       
7869        This was keeping non-standard instances - like ObjC classes and
7870        metaclasses - from having some of their slots initialized
7871        correctly.
7872
78732006-06-10 19:22  gb
7874
7875        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7876        objc-metaclass: don't die if the class is unnamed (makes it easier
7877        to print classes for debugging during initialization.)
7878
78792006-06-10 13:05  gb
7880
7881        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7882        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7883
78842006-06-08 05:01  gb
7885
7886        * release-notes.txt: Update a bit.
7887
78882006-06-08 03:56  gb
7889
7890        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7891        image-abi-version.
7892
78932006-06-08 03:46  gb
7894
7895        * xdump/faslenv.lisp: Bump (min) fasl version.
7896
78972006-06-08 03:35  gb
7898
7899        * lib/nfcomp.lisp: Bump (current) fasl-version.
7900
79012006-06-08 03:28  gb
7902
7903        * lisp-kernel/linuxx8664/Makefile: -O2.
7904
79052006-06-08 03:26  gb
7906
7907        * xdump/faslenv.lisp: Bump (max) fasl version.
7908
79092006-06-08 03:18  gb
7910
7911        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7912        doubt and claim that it's a beta.
7913
79142006-06-08 03:18  gb
7915
7916        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7917
79182006-06-08 03:17  gb
7919
7920        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7921        options; enable -O2.
7922
79232006-06-08 02:55  gb
7924
7925        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7926        Handle suspend (and maybe someday resume, again) signals on the
7927        altstack, since we don't really want a signal context in the middle
7928        of the tagged lisp stack ...
7929
79302006-06-08 02:52  gb
7931
7932        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7933        PLATFORM-exceptions.c; some constants/prototypes moved to
7934        Threads.h.
7935
79362006-06-08 02:51  gb
7937
7938        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7939        via install_signal_handler(); thread_signal_setup() moved here, to
7940        do that installation.
7941
79422006-06-08 02:50  gb
7943
7944        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7945       
7946        Don't call (or define) prepare_for_the_worst(), which is kind of
7947        too bad ...
7948
79492006-06-08 02:49  gb
7950
7951        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7952
79532006-06-08 01:11  gb
7954
7955        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7956        let OPTIMIZE proclamations persist beyond the LOAD.
7957
79582006-06-07 21:45  gb
7959
7960        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7961
79622006-06-07 21:38  gb
7963
7964        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7965        MMX regs.  Do maintain them in TCR.
7966
79672006-06-07 21:37  gb
7968
7969        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
7970        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
7971        temporary (old tsp), finish frame by storing into tcr.save_tsp.
7972
79732006-06-07 21:34  gb
7974
7975        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
7976
79772006-06-07 21:33  gb
7978
7979        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
7980        %stack_temp.
7981
79822006-06-07 21:32  gb
7983
7984        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
7985
79862006-06-07 21:30  gb
7987
7988        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
7989        now.
7990
79912006-06-07 21:30  gb
7992
7993        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
7994        (since it no longer exists ...).  Use %stack-temp in some cases.
7995
79962006-06-07 21:29  gb
7997
7998        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
7999        %stack-temp is a symbolic name for an MMX register that can be used
8000        for (e.g.) linking frames on the temp/foreign stacks (or for any
8001        other purpose ...)
8002
80032006-06-07 15:29  gb
8004
8005        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8006        tcr.next_tsp in sync with %next_tsp Check to ensure that
8007        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8008        allocating on the temp stack.  (This will soon change, so that %tsp
8009        and %next_tsp will not be canonical and the tcr fields are, then
8010        will change so that %tsp and %next_tsp will cease to exist.)
8011
80122006-06-07 15:25  gb
8013
8014        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8015
80162006-06-07 15:25  gb
8017
8018        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8019        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8020        a temporary.
8021
80222006-06-07 15:23  gb
8023
8024        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8025        don't need FP regs for this.  (They're sometimes invalid and
8026        sometimes missing, which is the point of recent changes.)
8027
80282006-06-07 15:21  gb
8029
8030        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8031        to %Rnext_tsp to avoid potential m4 lossage.
8032
80332006-06-07 15:20  gb
8034
8035        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8036
80372006-06-07 15:20  gb
8038
8039        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8040
80412006-06-07 15:19  gb
8042
8043        * level-1/version.lisp: Bump.
8044
80452006-06-07 15:19  gb
8046
8047        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8048
80492006-06-07 15:18  gb
8050
8051        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8052        foreign-sp register (though some code still uses %mm5 as a
8053        temporary, the "canonical" foreign SP is maintained in the TCR.)
8054
80552006-06-07 04:52  gb
8056
8057        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8058        frame, get the foreign SP out of the TCR.
8059
80602006-06-07 04:52  gb
8061
8062        * compiler/X86/X8664/x8664-vinsns.lisp,
8063        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8064        maintain the foreign sp in both the TCR and the MMX register, but
8065        consider the TCR version to be canonical.
8066
80672006-06-07 02:46  gb
8068
8069        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8070        %tsp MMX register doesn't match the value in the tcr, trap.
8071        Likewise for %foreign-sp.
8072
80732006-06-07 01:29  gb
8074
8075        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8076        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8077        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8078       
8079        (The idea is to keep the temp/foreign stack pointers in the tcr and
8080        only use the MMX registers as temporaries, since it seems that
8081        handlers for asynchronous signals can't count on the MMX register
8082        values in the signal context being correct.  This seems to either
8083        be a Linux kernel bug or ill-considered if it's intentional
8084        behavior, but it seems better to work around it this way.)
8085       
8086        This is just an early step in bootstrapping that change; it's being
8087        checked into CVS so that it doesn't get lost (and so that I can
8088        recover to this point if/when I hose things on a later step.)
8089
80902006-06-07 01:24  gb
8091
8092        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8093        tcr.
8094
80952006-06-07 01:22  gb
8096
8097        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8098        next_tsp slot to the tcr.
8099
81002006-06-06 04:25  gb
8101
8102        * lib/ppc-metering.lisp: no hope
8103
81042006-06-06 04:22  gb
8105
8106        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8107        frame (cfp argument) could be an exception callback frame (xcf-p
8108        may be true of it), in which case the saved register value is in
8109        the xcf.xp context.  (Basically, this means look at the first frame
8110        if it's an xcf, otherwise skip it and start with the child.)
8111
81122006-06-06 01:48  gb
8113
8114        * compiler/X86/x86-lapmacros.lisp,
8115        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8116        Using imul to box fixnums is smaller and seems to be faster than
8117        using lea with a scale factor.
8118
81192006-06-05 23:56  gb
8120
8121        * lisp-kernel/thread_manager.c: I don't think that
8122        suspend_resume_handler wants to have suspend signals unmasked, does
8123        it ?
8124
81252006-06-05 12:43  gb
8126
8127        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8128
81292006-06-03 03:11  gb
8130
8131        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8132        last catch frame, do skip others (test was backwards.  As it
8133        probably had been in the single-value case at one point.)
8134
81352006-06-02 03:48  gb
8136
8137        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8138        *terminal-io*; do print it to *trace-output*.
8139
81402006-06-01 20:20  gb
8141
8142        * level-0/l0-array.lisp: There's a T in subtag.
8143
81442006-06-01 20:17  gb
8145
8146        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8147       
8148        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8149       
8150        correctly.
8151
81522006-06-01 20:16  gb
8153
8154        * compiler/nx0.lisp: Defvars for global optimization quantities
8155        moved to level-0.
8156
81572006-06-01 20:15  gb
8158
8159        * level-1/l1-files.lisp: Bind the variables which hold global
8160        compiler optimization quantities, since people persist in doing
8161        things like:
8162       
8163        (declaim (optimize
8164        <something-that-they-probably-think-has-local-effects>))
8165       
8166        without bothering to use EVAL-WHEN or otherwise thinking very
8167        clearly.
8168       
8169        Note that this means that anyone who wanted such a declamation to
8170        have persistent global effects is now SOL.  Blame whoever wrote
8171        (for instance) clx/glx.lisp.
8172
81732006-06-01 20:11  gb
8174
8175        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8176        be referenced early in the cold load.
8177
81782006-06-01 13:13  gb
8179
8180        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8181        pointer to ENCODED-GPR-LISP if we have to get the register value
8182        from an exception frame.
8183
81842006-05-30 19:27  gwking
8185
8186        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8187        1.98)
8188
81892006-05-30 17:12  gb
8190
8191        * level-1/version.lisp: bump again.
8192
81932006-05-30 16:31  gb
8194
8195        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8196        ensure that tcr.xframe is updated from the catch frame (a) in all
8197        execution paths and (b) before RSP is updated.
8198
81992006-05-30 16:30  gb
8200
8201        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8202        vectors.
8203
82042006-05-30 16:29  gb
8205
8206        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8207
82082006-05-30 16:29  gb
8209
8210        * release-notes.txt: Update some more ...
8211
82122006-05-30 16:23  gb
8213
8214        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8215        Apparently.
8216
82172006-05-30 16:15  gb
8218
8219        * release-notes.txt: updated
8220
82212006-05-30 01:58  gb
8222
8223        * level-1/version.lisp: Bump.
8224
82252006-05-30 01:48  gb
8226
8227        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8228        made copies of the signal context and siginfo on the foreign stack,
8229        don't pass the originals to interrupt_handler().
8230       
8231        (altstack_interrupt_handler() looks suspiciously like
8232        altstack_signal_handler(), which probably had the same bug a few
8233        months ago ...)
8234       
8235        Since the alternate signal stack (as we use it) isn't reentrant,
8236        the next signal (perhaps a suspend signal) overwrote the context.
8237        Which is one reason to have made a copy in the first place ...
8238
82392006-05-30 01:43  gb
8240
8241        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8242        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8243        timeout is a good idea here, make sure that the timeout isn't
8244        fooled by #$EINTR.
8245
82462006-05-30 01:39  gb
8247
8248        * level-1/linux-files.lisp: Rename the old
8249        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8250        since it basically waits indefinitely.
8251       
8252        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8253        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8254        a "timed wait" that handles interruptions, etc. when the caller
8255        just has a "raw" (native) semaphore.
8256       
8257        Change callers, endure warnings.  New binaries soon.
8258
82592006-05-30 01:36  gb
8260
8261        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8262        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8263
82642006-05-29 22:34  gb
8265
8266        * lisp-kernel/x86-exceptions.c: The
8267        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8268        too small ...
8269
82702006-05-29 14:03  gb
8271
8272        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8273        syscall-based getcwd (it doesn't work as it once did/is documented
8274        to on linuxx8664); use the library function on all platforms.
8275
82762006-05-29 14:02  gb
8277
8278        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8279        processing interrupt.
8280
82812006-05-28 17:01  gb
8282
8283        * lisp-kernel/ppc-exceptions.c: If we handle a
8284        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8285       
8286        Back out of the hack that tried to work around a Darwin bug (FP
8287        exception flags were cleared in the MSR after a thread had been
8288        interrupted via pthread_kill()), since the fix seems not to be
8289        GC-safe.
8290       
8291        Add some debugging code to print when the exception lock is
8292        acquired/released.
8293
82942006-05-28 01:10  gb
8295
8296        * level-1/solaris-files.lisp: long gone
8297
82982006-05-23 20:25  gb
8299
8300        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8301
83022006-05-22 22:59  gb
8303
8304        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8305        C/.cvsignore: New file.
8306
83072006-05-22 22:57  gb
8308
8309        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8310        thread to suspend itself.
8311
83122006-05-22 22:57  gb
8313
8314        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8315        SINGLE-FLOAT constants.
8316       
8317        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8318        64-bit arg word, regardless of whether they're also passed in
8319        f1-f13 as well.
8320
83212006-05-22 22:55  gb
8322
8323        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8324        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8325        64-bit word.
8326
83272006-05-22 22:54  gb
8328
8329        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8330        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8331
83322006-05-22 22:53  gb
8333
8334        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8335        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8336        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8337        access them.
8338
83392006-05-22 03:53  gb
8340
8341        * level-1/version.lisp: Bump.
8342
83432006-05-22 03:32  gb
8344
8345        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8346
83472006-05-22 03:31  gb
8348
8349        * compiler/X86/x862.lisp: Numeric contagion on binops,
8350        fixnum->float.
8351
83522006-05-22 03:29  gb
8353
8354        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8355        well.
8356
83572006-05-22 03:28  gb
8358
8359        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8360        earlier when creating a stack frame inline.  Doesn't seem to affect
8361        latency much.
8362
83632006-05-22 03:27  gb
8364
8365        * compiler/X86/x862.lisp: Comment formatting on the first line of
8366        the file.
8367
83682006-05-22 03:26  gb
8369
8370        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8371        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8372
83732006-05-21 07:34  gb
8374
8375        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8376
83772006-05-21 07:32  gb
8378
8379        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8380        numeric-contagion stuff for arithmetic ops.
8381
83822006-05-21 07:31  gb
8383
8384        * compiler/nx1.lisp: Use div2 for /-2.
8385
83862006-05-21 07:31  gb
8387
8388        * compiler/nx0.lisp: Binop numeric contagion.
8389
83902006-05-21 06:49  gb
8391
8392        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8393
83942006-05-21 06:49  gb
8395
8396        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8397        weird, just wrong.
8398
83992006-05-21 06:17  gb
8400
8401        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8402        SIMPLE-FIXNUM-VECTORs.
8403
84042006-05-21 06:16  gb
8405
8406        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8407        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8408
84092006-05-21 06:16  gb
8410
8411        * compiler/PPC/PPC32/ppc32-arch.lisp,
8412        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8413        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8414        vector stuff.
8415
84162006-05-21 06:15  gb
8417
8418        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8419       
8420        Fixnum vector vref/vset.
8421
84222006-05-21 06:15  gb
8423
8424        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8425        %fixnum-to-double.
8426
84272006-05-21 06:14  gb
8428
8429        * compiler/nx0.lisp: More operator result types.
8430
84312006-05-21 04:35  gb
8432
8433        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8434        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8435        specialized FIXNUM array-element-type into type system, CLOS.
8436        (Knock wood.)
8437
84382006-05-21 04:34  gb
8439
8440        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8441        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8442
84432006-05-21 04:33  gb
8444
8445        * compiler/X86/X8664/x8664-arch.lisp,
8446        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8447        subtag for :fixnum-vector.
8448
84492006-05-21 04:32  gb
8450
8451        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8452        indices correctly.
8453       
8454        64-bit vset, vref: handle :FIXNUM-VECTOR.
8455
84562006-05-21 00:22  gb
8457
8458        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8459
84602006-05-20 18:13  gb
8461
8462        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8463        stack args) without restoring/re-saving NVRs.
8464
84652006-05-19 15:07  gb
8466
8467        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8468        completion semaphore (when :WAIT is true) happens inside an
8469        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8470        interrupts.
8471
84722006-05-19 15:06  gb
8473
8474        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8475        for SEMAPHORE.
8476
84772006-05-19 12:23  gwking
8478
8479        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8480        Also changed it so that it displays all items before trying to get
8481        an answer.
8482
84832006-05-19 12:00  gwking
8484
8485        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8486
84872006-05-19 11:57  gwking
8488
8489        * .cvsignore: The *fsl wasn't cutting it for me...
8490
84912006-05-19 11:50  gb
8492
8493        * level-1/version.lisp: Bump.
8494
84952006-05-19 11:49  gb
8496
8497        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8498        syscall definitions so that it can be moused on.
8499
85002006-05-19 11:48  gb
8501
8502        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8503        .SPeabi-syscall -> .SPsyscall.
8504
85052006-05-19 11:45  gb
8506
8507        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8508        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8509        does indeed burn cache lines, but going out of line isn't cheap
8510        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8511        are in fact fixnums and no overflow is involved - seems to be about
8512        2X faster when inlined this way.  Not sure if that'll be the case
8513        on PPC.)
8514
85152006-05-19 11:40  gb
8516
8517        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8518        stuff.
8519
85202006-05-18 14:47  gb
8521
8522        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8523        in all places that do so ...), update tcr.xframe from
8524        catch_frame.xframe on all execution paths (in particular, do so
8525        before SP is restored from the catch_frame, since a tcr.xframe
8526        "beyond" SP is clearly bogus.)
8527
85282006-05-18 02:34  gb
8529
8530        * level-1/version.lisp: Bump.
8531
85322006-05-17 23:12  gb
8533
8534        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8535        for PPC, too.
8536
85372006-05-17 22:53  gb
8538
8539        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8540        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8541        if any unmasked exceptions were raised before even calling this ...
8542
85432006-05-17 22:51  gb
8544
8545        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8546        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8547
85482006-05-17 22:50  gb
8549
8550        * compiler/X86/x862.lisp: Work harder to find acode types in some
8551        cases.
8552
85532006-05-17 22:50  gb
8554
8555        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8556        registers in OP-REG.
8557       
8558        Don't want to use RET very often if at all, but disassembler should
8559        treat as as a :JUMP.
8560
85612006-05-17 22:48  gb
8562
8563        * compiler/nxenv.lisp: MUL2, DIV2.
8564
85652006-05-17 22:48  gb
8566
8567        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8568        type-inferencing (or, more accurately, paying a little more
8569        attention here and there.)
8570
85712006-05-12 20:40  gwking
8572
8573        * examples/addressbook.lisp: added examples/addressbook.lisp
8574
85752006-05-11 18:42  gb
8576
8577        * level-1/l1-application.lisp: Stop processing command-line
8578        arguments when "--" is encountered; anything after that "--" is
8579        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8580
85812006-05-11 18:42  gb
8582
8583        * lib/ccl-export-syms.lisp: Export command-line stuff
8584
85852006-05-11 18:40  gb
8586
8587        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8588        method for LOCKs.
8589
85902006-05-11 18:39  gb
8591
8592        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8593        are base-strings (and always have been in OpenMCL.)
8594
85952006-05-11 18:37  gb
8596
8597        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8598
85992006-05-11 08:11  gwking
8600
8601        * lib/db-io.lisp: Added a check that the directory exists to
8602        fid-open-output in order to make it clearer what is wrong when one
8603        is unable to rebuild interface files because they are trying to do
8604        so in a place without FFI files to read!
8605
86062006-05-11 05:14  gb
8607
8608        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8609        Bump lisp-implementation-version, image-abi-version.
8610
86112006-05-11 05:04  gb
8612
8613        * xdump/faslenv.lisp: Bump (min) fasl version.
8614
86152006-05-11 04:52  gb
8616
8617        * lib/nfcomp.lisp: Bump (current) FASL version.
8618
86192006-05-11 04:52  gb
8620
8621        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8622        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8623
86242006-05-11 04:35  gb
8625
8626        * xdump/faslenv.lisp: Bump (max) fasl version.
8627
86282006-05-11 04:32  gb
8629
8630        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8631        target-specific feature.
8632
86332006-05-11 03:35  gb
8634
8635        * compiler/PPC/PPC32/ppc32-arch.lisp,
8636        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8637        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8638        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8639        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8640        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8641        typecodes around: get rid of the (unused) old 16-bit string; add an
8642        (as yet unused) UCS-4 string type.
8643       
8644        These changes generally involve cross-compilation (or some very
8645        tricky bootstrapping that I didn't attempt)  FASL versions and
8646        kernel ABI versions will need to change, and new binaries will be
8647        made available soon.
8648
86492006-05-10 20:20  gb
8650
8651        * compiler/PPC/ppc-lapmacros.lisp,
8652        compiler/PPC/PPC32/ppc32-arch.lisp,
8653        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8654        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8655        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8656        8-bit) character code is stored in the #x0000xx00 byte of a
8657        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8658        bootstrap natively (which is why I was trying to make ppc64->ppc32
8659        cross-compilation work.)
8660       
8661        Change related macros/visnsns as well.
8662
86632006-05-10 19:00  gb
8664
8665        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8666        think that this is just hard to do right the way that it's being
8667        done.
8668
86692006-05-10 18:59  gb
8670
8671        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8672        when cross-compiling (because word-size differences aren't handled
8673        correctly by macros.)  Until the macros are fixed, don't even try
8674        ...
8675
86762006-05-10 18:58  gb
8677
8678        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8679        target::target-most-positive-fixnum (not the host's
8680        MOST-POSITIVE-FIXNUM).
8681
86822006-05-10 18:57  gb
8683
8684        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8685        few places.
8686
86872006-05-10 18:56  gb
8688
8689        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8690
86912006-05-10 18:55  gb
8692
8693        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8694        differences between host and target types, but try to turn
8695        references to FIXNUM to the appropriate target-specific type.
8696
86972006-05-09 21:01  gb
8698
8699        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8700        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8701        around to check the high bits of the char code, but all chars have
8702        been base-chars for several years now ...
8703       
8704        UNBOX-CHARACTER was unused.
8705       
8706        (This is the first step of what may be several bootstrapping steps
8707        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8708        easily-accessed char-code bits on PPC32.)
8709
87102006-05-09 11:48  gb
8711
8712        * lisp-kernel/xlbt.c: No psn in cs_area.
8713
87142006-05-09 02:42  gb
8715
8716        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8717        to mark_simple_area_range().
8718
87192006-05-09 02:33  gb
8720
8721        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8722        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8723
87242006-05-09 02:25  gb
8725
8726        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8727        the containing TCR, to make low-level debugging a bit easier.
8728
87292006-05-09 02:25  gb
8730
8731        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8732        and debugging printfs.
8733
87342006-05-09 02:24  gb
8735
8736        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8737        extra (signed_natural *) arg, for allocptr displacement.
8738
87392006-05-09 02:23  gb
8740
8741        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8742       
8743        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8744        regs/ saved TCR fields.  The general idea is that the after they
8745        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8746        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8747        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8748        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8749       
8750        On an interrupt, the caller needs to pass in a signed_natural * to
8751        pick up the allocptr displacement (if consing was interrupted at
8752        the alloc trap); the interrupt handler uses this value to fix up
8753        alloptr when it returns if consing was interrupted.
8754       
8755        This is all pretty clearly right, but something still goes wrong
8756        under some combination of high thread stress, frequent allocation,
8757        and blocking ff-calls.
8758
87592006-05-09 02:17  gb
8760
8761        * lisp-kernel/plbt.c: No psn currently available.
8762
87632006-05-09 02:16  gb
8764
8765        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8766        where it may come in handy ...
8767
87682006-05-09 02:16  gb
8769
8770        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8771        arg.
8772
87732006-05-09 02:13  gb
8774
8775        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8776
87772006-05-09 02:12  gb
8778
8779        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8780        Restore it.
8781
87822006-05-09 02:12  gb
8783
8784        * level-0/l0-error.lisp, library/lispequ.lisp,
8785        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8786        recycle $XNOCDR.
8787
87882006-05-09 02:11  gb
8789
8790        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8791        target-specific.
8792
87932006-05-09 02:11  gb
8794
8795        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8796        target-specific.
8797
87982006-05-09 00:40  gb
8799
8800        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8801        here.
8802
88032006-05-09 00:39  gb
8804
8805        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8806        x8664.
8807
88082006-05-09 00:39  gb
8809
8810        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8811        stuff up to l1-lisp-threads.lisp.
8812
88132006-05-08 22:58  gb
8814
8815        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8816        handle array and vector headers.
8817
88182006-05-08 22:57  gb
8819
8820        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8821        of which should ever happen) with the kernel.
8822
88232006-05-08 22:56  gb
8824
8825        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8826        the TCR either.
8827
88282006-05-08 22:55  gb
8829
8830        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8831
88322006-05-08 22:55  gb
8833
8834        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8835        $xsetbadvec.
8836
88372006-05-08 03:26  gb
8838
8839        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8840        flags are set to the result of decrementing %nargs at the end of
8841        the loop.
8842
88432006-05-08 03:25  gb
8844
8845        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8846        wants a list of condition args, not a single arg.
8847
88482006-05-08 03:24  gb
8849
8850        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8851        CS-AREA.
8852
88532006-05-08 03:23  gb
8854
8855        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8856        uuo_error_udf, not as a type error.
8857
88582006-05-07 16:50  gb
8859
8860        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8861        slots in a long time (they probably haven't -needed- them in even
8862        longer; I think that this had to do with the old partial MOP.)
8863        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8864        accessor in STANDARD-OBJECT-SETF-LINE-N.
8865
88662006-05-07 04:39  gb
8867
8868        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8869        file.
8870
88712006-05-07 04:34  gb
8872
8873        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8874        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8875        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8876        if code that wants both locks isn't careful to try to obtain them
8877        in some canonical order.)
8878
88792006-05-07 04:29  gb
8880
8881        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8882
88832006-05-07 04:29  gb
8884
8885        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8886
88872006-05-07 04:28  gb
8888
8889        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8890        xFindSymbol/dlsym returns 0 on x8664.
8891
88922006-05-07 04:27  gb
8893
8894        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8895        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8896        I'd mistakenly decided that it was faster to go through memory than
8897        to use these instructions.  It seems to actually be substantially
8898        slower, as one would expect.)
8899
89002006-05-07 04:25  gb
8901
8902        * compiler/X86/x86-asm.lisp: Add support for
8903        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8904
89052006-05-07 04:21  gb
8906
8907        * library/hash-cons.lisp: Fix doc in comments.
8908
89092006-05-07 04:21  gb
8910
8911        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8912
89132006-05-07 04:20  gb
8914
8915        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8916
89172006-05-07 04:19  gb
8918
8919        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8920        TARGET-backtrace.lisp.
8921
89222006-05-07 04:18  gb
8923
8924        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8925        BOGUS-THING-P to TARGET-thread-utils.lisp.
8926
89272006-05-07 04:17  gb
8928
8929        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8930        BOGUS-THING-P support here.
8931
89322006-05-07 04:16  gb
8933
8934        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8935        to psn.
8936
89372006-05-06 15:27  gb
8938
8939        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8940        to the "natural" case.
8941
89422006-05-06 15:26  gb
8943
8944        * compiler/X86/x862.lisp: Pass the right number of args to
8945        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8946
89472006-05-06 15:26  gb
8948
8949        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8950
89512006-05-06 02:09  gb
8952
8953        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8954        A and tries to obtain lock B, and thread Y holds lock B and tries
8955        to obtain lock A, what is that a classic case of ?
8956       
8957        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8958        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8959        two locks at the same time, and that's always a bit dangerous; it
8960        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8961        that must be owned in order to manipulate either the tcr or area
8962        queues.
8963
89642006-05-06 02:04  gb
8965
8966        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8967        %REALPATH of the current directory namestring, as it does by
8968        default on some platforms (but not Linux.)
8969
89702006-05-05 20:08  gb
8971
8972        * compiler/X86/x862.lisp: x862-ff-call: really implement the
8973        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
8974        the el-bizarro <- with a (temp) node target.
8975
89762006-05-05 20:06  gb
8977
8978        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
8979        relative to the tagged entrypoint, not to the start of the
8980        underlying function-vector.)
8981
89822006-05-05 13:24  gb
8983
8984        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
8985        heap-consing an &REST arg.  (%allocptr and %next-method-context are
8986        the same register, so &rest clobbbers %next-method-context.)
8987       
8988        Could make separate entry points, so that this is only done when
8989        %next-method-context needs to be preserved ...
8990
89912006-05-05 13:21  gb
8992
8993        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
8994
89952006-05-05 02:23  gb
8996
8997        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
8998
89992006-05-05 02:23  gb
9000
9001        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9002
90032006-05-05 01:37  gb
9004
9005        * level-1/version.lisp: Bump du jour.
9006
90072006-05-05 01:36  gb
9008
9009        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9010        between the first 6 words of the outgoing frame (from which GPRs
9011        will be loaded) and other words (which stay on the stack); after
9012        the first 8 FP args, floats have to be passed on the stack, even if
9013        there's still room in the first 6 words of the outgoing frame.
9014       
9015        Need to understand the struct-by-value rules better: can a struct
9016        be passed partly in registers and partly on the stack ? RTFM (or,
9017        in this case, TF ABI spec.)
9018
90192006-05-05 01:31  gb
9020
9021        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9022        case should store relative to "other-offset" (rather than   
9023        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9024        - both the single and double-float cases were incrementing
9025        "other-offset"     twice when more than 8 FP args were involved.
9026        This had the effect of     storing floats into every other word and
9027        writing beyond the bounds of     the outgoing stack frame, possibly
9028        overwriting return addresses on the     foreign stack.
9029
90302006-05-04 23:12  gb
9031
9032        * level-1/l1-streams.lisp: James Bielman's fix to
9033        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9034
90352006-05-04 18:30  gb
9036
9037        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9038        decrement FPR-ARG-OFFSET by 8, not -8.
9039       
9040        (This could cause values outside of the stack frame to be read, but
9041        I still haven't found what's writing beyond the frame bounds.)
9042
90432006-05-04 18:27  gb
9044
9045        * lib/x86-backtrace.lisp: If its argument is an exception callback
9046        frame, %CFP-LFUN tries to determine the relative PC associated with
9047        the frame's nominal function and return that as a second value
9048        (just as it does for a real frame.)
9049       
9050        I think that this should work a high percentage of the time, but
9051        callers should generally be prepared to deal with a NULL second
9052        return value from %CFP-LFUN.
9053
90542006-05-04 11:12  gb
9055
9056        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9057        since we're using the same stack pointer to return values as we are
9058        to find arguments, don't try to "optimize" its initialization.
9059
90602006-05-03 18:52  gb
9061
9062        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9063        a little.  Don't coerce single float results to double; bind
9064        stack-ptr variable even if no args (might be a return value form
9065        that references it.) Failure to do the latter was creating a weird
9066        free variable reference that wasn't handled by the fasloader.
9067
90682006-05-03 18:50  gb
9069
9070        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9071
90722006-05-03 18:49  gb
9073
9074        * lib/nfcomp.lisp: Indent a comment.
9075
90762006-05-03 18:16  gb
9077
9078        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9079        that might involve a variable-length arglist (at this level,
9080        always), set %rax to the number (0-8) of FP arguments passed in xmm
9081        registers.
9082
90832006-05-03 13:26  gb
9084
9085        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9086        ~15, not ~!5.  (This was causing segfaults on return from
9087        interrupts sometimes.)
9088
90892006-05-03 13:24  gb
9090
9091        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9092        by SWANK/SLIME.
9093
90942006-05-03 13:23  gb
9095
9096        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9097        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9098        seems to get many things wrong.)
9099
91002006-05-03 11:37  gb
9101
9102        * level-1/version.lisp: You mist have yesterday's version.
9103
91042006-05-03 11:37  gb
9105
9106        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9107        LAP.
9108
91092006-05-03 11:36  gb
9110
9111        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9112        #+x8664-target.
9113
91142006-05-03 11:36  gb
9115
9116        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9117        it can just check for a 2-digit bignum header if it has something
9118        of tag TAG-MISC.
9119
91202006-05-03 11:34  gb
9121
9122        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9123        destinations.
9124
91252006-05-03 11:33  gb
9126
9127        * compiler/X86/x86-disassemble.lisp: Recognize
9128        uuo-error-eep-unresolved.
9129
91302006-05-02 18:07  gb
9131
9132        * level-1/version.lisp: Bump.
9133
91342006-05-02 18:07  gb
9135
9136        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9137        (mostly ?) unused and currently PPC-specific, if it works at all
9138        ...
9139
91402006-05-02 10:27  gb
9141
9142        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9143        for STRING-INPUT-STREAMs; it's not clear what such a method should
9144        do (and fairly clear that it shouldn't do what the previous
9145        definition was doing.)
9146
91472006-05-02 10:26  gb
9148
9149        * lib/format.lisp: clear input from *query-io*, not from
9150        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9151
91522006-05-02 10:26  gb
9153
9154        * library/hash-cons.lisp: x8664 lap
9155
91562006-05-02 10:26  gb
9157
9158        * lisp-kernel/x86-gc.c: hons area stuff
9159
91602006-04-29 09:14  gb
9161
9162        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9163        overflow (on value/temp stacks).
9164
91652006-04-29 09:13  gb
9166
9167        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9168        callback.
9169
91702006-04-29 09:10  gb
9171
9172        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9173       
9174        No linker script.
9175       
9176        Use -lthr, which offers 1:1 threads.
9177
91782006-04-29 09:09  gb
9179
9180        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9181
91822006-04-29 09:01  gb
9183
9184        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9185
91862006-04-29 09:00  gb
9187
9188        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9189        anything cares ...)
9190
91912006-04-29 08:59  gb
9192
9193        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9194
91952006-04-29 08:58  gb
9196
9197        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9198
91992006-04-29 08:58  gb
9200
9201        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9202
92032006-04-28 21:28  gb
9204
9205        * level-1/version.lisp: bump.
9206
92072006-04-28 21:27  gb
9208
9209        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9210        version).
9211
92122006-04-28 21:24  gb
9213
9214        * lib/ppc-backtrace.lisp: Fix typo.
9215
92162006-04-28 21:23  gb
9217
9218        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9219       
9220        Change the command/keyword parser a little, so that :FOO is just
9221        :FOO and not (:FOO).
9222       
9223        Change :B break loop command (and :F) to allow focusing on a range
9224        of frames, and change PRINT-CALL-HISTORY to more easily support
9225        that.
9226
92272006-04-28 19:37  gb
9228
9229        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9230        LOAD-CONSTANT form.
9231
92322006-04-28 19:34  gb
9233
9234        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9235        Factor out a little more.  Time to see what's broken on PPC ...
9236
92372006-04-28 19:34  gb
9238
9239        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9240        around colon-commands optional.
9241
92422006-04-28 04:11  gb
9243
9244        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9245        debugger's register display code.
9246
92472006-04-28 04:11  gb
9248
9249        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9250        on the stack is bogus.
9251
92522006-04-28 04:10  gb
9253
9254        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9255        ...) when calling back for an exception.
9256
92572006-04-28 03:36  gb
9258
9259        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9260       
9261        xcf struct.
9262
92632006-04-28 03:36  gb
9264
9265        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9266
92672006-04-28 03:36  gb
9268
9269        * lib/x86-backtrace.lisp: Implemented some stuff.
9270       
9271        Backtrace (sort of) works on x8664 now; need to find register
9272        values,  hide tagged return addresses, a few other things.
9273
92742006-04-28 03:34  gb
9275
9276        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9277
92782006-04-28 03:34  gb
9279
9280        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9281
92822006-04-28 03:33  gb
9283
9284        * level-1/x86-trap-support.lisp: Flags register accessor.
9285       
9286        New exception callback scheme.
9287
92882006-04-28 03:33  gb
9289
9290        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9291        changing.
9292
92932006-04-28 03:32  gb
9294
9295        * level-1/x86-error-signal.lisp: New exception callback stuff.
9296
92972006-04-28 03:32  gb
9298
9299        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9300
93012006-04-28 03:32  gb
9302
9303        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9304        files.
9305
93062006-04-28 03:31  gb
9307
9308        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9309        have exception callback frames ...
9310
93112006-04-28 03:30  gb
9312
9313        * level-1/l1-error-system.lisp: Tweak :report method for
9314        wrong-number-of-args errors.
9315
93162006-04-28 03:30  gb
9317
9318        * level-0/X86/x86-def.lisp: Implement APPLY+.
9319
93202006-04-28 03:29  gb
9321
9322        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9323
93242006-04-28 03:27  gb
9325
9326        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9327       
9328        CHECK-NARGS: don't enforce upper bound if it's null.
9329
93302006-04-28 03:17  gb
9331
9332        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9333
93342006-04-28 03:16  gb
9335
9336        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9337        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9338
93392006-04-26 14:18  gb
9340
9341        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9342
93432006-04-26 14:17  gb
9344
9345        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9346        prepared" to do so) if its argument isn't a function designator, so
9347        don't quietly call METHOD-FUNCTION for the user.
9348
93492006-04-26 13:56  gb
9350
9351        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9352        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9353
93542006-04-26 03:59  gb
9355
9356        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9357        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9358        exceptions will be pending when we start an ff-call (and the mxcsr
9359        is loaded from that location.)
9360       
9361        tcr.ffi_exception will then contain non-zero exception bits iff the
9362        most recent ff-call raised a (probably masked) FP exception.
9363       
9364        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9365
93662006-04-26 03:55  gb
9367
9368        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9369
93702006-04-26 03:23  gb
9371
9372        * lisp-kernel/x86-constants64.s: Update comment on
9373        tcr.ffi_exception.
9374
93752006-04-26 03:22  gb
9376
9377        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9378        from ffcall.  (Should maybe clear exception bits on entry to
9379        foreign state, so we're sure that any exception bits set in the
9380        tcr.ffi_exception slot were caused by the most recent ff-call.)
9381
93822006-04-26 03:20  gb
9383
9384        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9385        ffcall, compare them to unmasked exception bits in current MXCSR,
9386        maybe raise FP exception.  (Note: compile this change and rebuild
9387        image before making corresponding kernel change.)
9388
93892006-04-26 02:31  gb
9390
9391        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9392        LOGAND-2, not to LOGXOR-2.  Sheesh.
9393
93942006-04-26 02:01  gb
9395
9396        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9397        bit numbers as tests of the sign bit.   (This is probably best
9398        viewed as being "formally undefined", but it's not too expensive to
9399        check for that.  The case where the bit number's negative is
9400        definitely undefined; I think that it also gets treated as a test
9401        of the sign bit.)
9402
94032006-04-26 01:58  gb
9404
9405        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9406        negative.
9407
94082006-04-26 01:32  gb
9409
9410        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9411        61.  (Should check here for negative bit .)
9412
94132006-04-26 01:31  gb
9414
9415        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9416        context" error - which typically indicates a fault during exception
9417        processing - pass the context in to the kernel debugger.
9418
94192006-04-26 01:30  gb
9420
9421        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9422
94232006-04-26 00:56  gb
9424
9425        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9426        if it compares all corresponding digits, rather than repeatedly
9427        comparing the 0th digits N times ...
9428
94292006-04-25 17:38  gb
9430
9431        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9432        is 0, not if disp is 0.  ash: always make a signed integer out of
9433        the result,  since arg is always signed.
9434
94352006-04-25 17:37  gb
9436
9437        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9438        bit, so (for instance) (- 0.0d0) is -0.0d0.
9439
94402006-04-25 17:36  gb
9441
9442        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9443        time.
9444
94452006-04-25 17:35  gb
9446
9447        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9448        operand is in target reg (2-address issue.)
9449
94502006-04-24 16:42  gb
9451
9452        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9453        Apparently, pretty hard.  It was doing a logical shift right when
9454        typechecking the value, so negative values were rejected.
9455
94562006-04-24 16:41  gb
9457
9458        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9459        callback now takes a 'signo' argument.
9460
94612006-04-24 16:40  gb
9462
9463        * level-1/x86-trap-support.lisp: Initial support for handling
9464        arithmetic errors.  Will need more work to get operation and
9465        operands right.
9466
94672006-04-24 16:39  gb
9468
9469        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9470
94712006-04-24 13:58  gb
9472
9473        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9474        uuo-error-reg-not-type case.
9475
94762006-04-24 13:57  gb
9477
9478        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9479        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9480        another story.)
9481
94822006-04-24 13:55  gb
9483
9484        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9485        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9486        boxed, either.
9487
94882006-04-24 12:02  gb
9489
9490        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9491        _SPtcallnfngen: several bugs, which were already fixed in similar
9492        variants.
9493
94942006-04-24 12:01  gb
9495
9496        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9497        Deutch/Waite/Schorr marker.
9498
94992006-04-24 12:00  gb
9500
9501        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9502        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9503
95042006-04-24 11:59  gb
9505
9506        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9507
95082006-04-24 11:58  gb
9509
9510        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9511        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9512        DOUBLE-FLOAT.
9513
95142006-04-24 11:58  gb
9515
9516        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9517        high and low words of the mantissa, to ensure that no hidden bits
9518        are set.  (Some such bits were set, causing many double-float
9519        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9520
95212006-04-24 02:21  gb
9522
9523        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9524        image.
9525       
9526        (Don't expect it to have any contents yet; that'll require several
9527        more changes.   This is all intended to support PURIFY on x8664,
9528        where we'll want to ensure that any constant referenced by a
9529        function in readonly/pure memory has a fixed, static address.)
9530
95312006-04-24 02:14  gb
9532
9533        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9534        section makes NUM_IMAGE_SECTIONS 4.
9535
95362006-04-24 02:13  gb
9537
9538        * lisp-kernel/area.h: Typo in the definition of
9539        AREA_MANAGED_STATIC.
9540
95412006-04-24 02:12  gb
9542
9543        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9544        more areas.
9545
95462006-04-24 02:12  gb
9547
9548        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9549        addresses of instructions (not pointers thereto ...)
9550
95512006-04-24 02:11  gb
9552
9553        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9554        (mostly so that I could step through it to remember how it worked
9555        ...).
9556
95572006-04-24 02:10  gb
9558
9559        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9560        indirection.
9561
95622006-04-24 02:09  gb
9563
9564        * lisp-kernel/x86-gc.c: Remove a sanity check.
9565
95662006-04-24 02:09  gb
9567
9568        * xdump/xfasload.lisp: Create (empty) managed-static section
9569        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9570
95712006-04-24 02:08  gb
9572
9573        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9574        section.
9575
95762006-04-24 02:07  gb
9577
9578        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9579        fds, take CLOSE-ON-ERROR more seriously.
9580
95812006-04-24 02:06  gb
9582
9583        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9584        %CURRENT-FRAME-PTR) on PPC32/64.
9585
95862006-04-24 00:50  gb
9587
9588        * level-1/version.lisp: Bump.  Getting there ...
9589
95902006-04-24 00:50  gb
9591
9592        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9593       
9594        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9595        so pass them as a pointer to avoid word-size issues.
9596
95972006-04-24 00:48  gb
9598
9599        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9600        things that had been missing.
9601
96022006-04-24 00:48  gb
9603
9604        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9605        UUOs.
9606
96072006-04-24 00:48  gb
9608
9609        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9610
96112006-04-24 00:47  gb
9612
9613        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9614
96152006-04-24 00:47  gb
9616
9617        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9618
96192006-04-24 00:47  gb
9620
9621        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9622
96232006-04-24 00:46  gb
9624
9625        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9626        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9627        need to boostrap on PPC).
9628       
9629        Parse %FOREIGN-STACK-POINTER.
9630
96312006-04-22 03:30  gb
9632
9633        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9634        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9635        because (a) nothing else will and (b) the tcr will likely become
9636        unmapped soon, and we don't want things that walk the tcr list to
9637        segfault.
9638
96392006-04-22 03:27  gb
9640
9641        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9642        find_foreign_rsp; call Bug() and exit() if the context has no
9643        fpregs.  (That's a symptom, not the proble, but it's slightly
9644        better to do this than to double fault, which is what seems to be
9645        happening.)
9646
96472006-04-21 10:12  gb
9648
9649        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9650        worry about consing, write-barrier stuff.
9651
96522006-04-21 10:11  gb
9653
9654        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9655        (condition codes.)
9656
96572006-04-21 10:11  gb
9658
9659        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9660        (again.)
9661       
9662        Define enumeration constants for matching the instructions that can
9663        occur during consing.
9664
96652006-04-21 10:09  gb
9666
9667        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9668        store_node_conditional, in case pc_luser_xp() needs to complete the
9669        memoization.
9670
96712006-04-21 02:50  gb
9672
9673        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9674        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9675        allowed.
9676
96772006-04-21 02:49  gb
9678
9679        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9680        line up with GPRs.
9681
96822006-04-21 02:48  gb
9683
9684        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9685        #+64-bit-target, not #+ppc64-target.
9686
96872006-04-21 02:47  gb
9688
9689        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9690        amount.
9691
96922006-04-21 02:46  gb
9693
9694        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9695        unique to PPC64 (but do depend on #+64-bit-target).
9696
96972006-04-21 02:46  gb
9698
9699        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9700        confuse PROGV; remove them, for now.
9701
97022006-04-20 23:35  gb
9703
9704        * lisp-kernel/x86-spentry64.s: In the bignum case of
9705        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9706        whatever the code was trying to do there.
9707       
9708        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9709        and arg_z from the correct offsets within the lexpr.
9710
97112006-04-20 04:48  gb
9712
9713        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9714        force it to always be used, for now.
9715
97162006-04-19 17:11  gb
9717
9718        * lisp-kernel/pmcl-kernel.c: (Very) different
9719        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9720
97212006-04-19 17:10  gb
9722
9723        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9724        Solaris.
9725
97262006-04-19 00:35  gb
9727
9728        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9729        reversing-pointer marker should work.  (Perhaps it's a strong
9730        argument for implementing "purify" soon.)
9731
97322006-04-19 00:34  gb
9733
9734        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9735        function-boundary-marker.
9736
97372006-04-19 00:33  gb
9738
9739        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9740
97412006-04-18 19:35  gb
9742
9743        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9744        multiple-value case of THROW: don't want to do unbind_to if tcr's
9745        db-link matches target catch frame's.
9746
97472006-04-18 19:33  gb
9748
9749        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9750        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9751        synch with x86-asm.
9752
97532006-04-18 19:33  gb
9754
9755        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9756        :R in break messages.
9757       
9758        Say more about :C in :R.
9759
97602006-04-18 19:32  gb
9761
9762        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9763        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9764        seems to have been fixed.
9765
97662006-04-18 19:31  gb
9767
9768        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9769        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9770        horrible kludge, but it only happens once.)
9771
97722006-04-18 19:19  gb
9773
9774        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9775        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9776        to have been fixed.
9777
97782006-04-18 19:18  gb
9779
9780        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9781        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9782        ends of its arguments and ignoring the first few bytes (as well as
9783        doing misaligned memory references.)
9784
97852006-04-18 19:16  gb
9786
9787        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9788        This'll require some thought, mostly because of the reserved-frame
9789        issue(s).
9790
97912006-04-18 06:21  gb
9792
9793        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9794        adventures are about to end, I'm afraid.
9795
97962006-04-18 06:04  gb
9797
9798        * level-1/version.lisp: Daily bump.
9799
98002006-04-18 05:59  gb
9801
9802        * level-1/l1-sockets.lisp: Comment indentation.
9803
98042006-04-18 05:56  gb
9805
9806        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9807
98082006-04-18 05:55  gb
9809
9810        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9811        ppc-def (that means that there will need to be an APPLY+ for
9812        x8664).
9813
98142006-04-18 05:38  gb
9815
9816        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9817        compiler and x8664-vinsn-templates to agree on vinsn-names and
9818        implement some vinsns that had been missing.  (About 15 or so
9819        undefined vinsns remain.)
9820
98212006-04-18 05:37  gb
9822
9823        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9824        opcode ordinals in vinsn templates (e.g., in case new instructions
9825        are defined in the assembler) wasn't checking to see if vinsn
9826        templates named in the hash table were defined.  (It was apparently
9827        getting away with this because CONSP was broken.)  So, don't try to
9828        fixup opcode ordinals in NIL, and optionally report templates
9829        that're referenced but not defined.
9830
98312006-04-18 04:38  gb
9832
9833        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9834        (which only sets the low 8 bits of its destination), then comparing
9835        all 64-bits of the destination to a zero-extended 32-bit constant.
9836        (E.g., CONSP had little chance of being right all other things
9837        being equal, but may have been right more than one in 2^56 times if
9838        some random preceding instruction had zeroed the upper 56 bits.)
9839       
9840        (It's also shorter to do an 8-bit compare.)
9841
98422006-04-18 03:11  gb
9843
9844        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9845
98462006-04-18 02:51  gb
9847
9848        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9849        happy (well, as happy as they're going to be ...), back to finding
9850        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9851
98522006-04-18 01:26  gb
9853
9854        * lisp-kernel/thread_manager.c: Some Solaris changes.
9855
98562006-04-18 00:48  gb
9857
9858        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9859        installs in /usr/sfw/bin is both newer and buggier than the version
9860        available on the "Solaris Companion" disk, which gets installed in
9861        /opt/sfw/bin.
9862       
9863        Ordinarily, I'd wonder why a "companion" disk offers to install
9864        software that's bundled as part of the installation (especially old
9865        versions of that software.)  Now I know.
9866
98672006-04-18 00:45  gb
9868
9869        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9870
98712006-04-18 00:45  gb
9872
9873        * lisp-kernel/m4macros.m4: Fix changecom.
9874
98752006-04-18 00:11  gb
9876
9877        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9878        but is otherwise fine with single-line /* */.
9879
98802006-04-18 00:09  gb
9881
9882        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9883        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9884        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9885        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9886        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9887        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9888        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9889        like Darwin as, but we're back to single-line /* */, which is often
9890        pretty ugly and not well-supported by Emacs.
9891
98922006-04-17 23:23  gb
9893
9894        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9895        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9896        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9897        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9898        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9899        by Emacs and by all current GAS versions (but see ARM conventions.)
9900         No more jerking around with this, knock wood.
9901
99022006-04-17 23:23  gb
9903
9904        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9905        case where caller provided args before the lexpr, which is much
9906        harder than the simple case.
9907       
9908        Use #/newline for comment delimiters, which is supported by Emacs
9909        and by all current GAS versions (but see ARM conventions.)  No more
9910        jerking around with this, knock wood.
9911
99122006-04-17 23:20  gb
9913
9914        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9915        when numbers differed greatly in magnitude.  Current (binary)
9916        algorithm is usually OK.
9917
99182006-04-17 23:17  gb
9919
9920        * compiler/X86/x86-lap.lisp: Condition name should be
9921        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9922        not the problem.  Name wasn't spelled correctly in code that
9923        signals the condition, anyway.
9924
99252006-04-17 16:34  gb
9926
9927        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9928        argument, takes a new boolean to distinguish current tcr from
9929        others.  (The current tcr is only lusered on an interrupt; others
9930        are only lusered on GC entry.)
9931
99322006-04-17 16:33  gb
9933
9934        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9935        here.  (No deep reason not to share the new x86 signature on all
9936        architectures.)
9937
99382006-04-17 16:32  gb
9939
9940        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9941        here.  (No deep reason not to share the new x86 signature on all
9942        architectures.)
9943
99442006-04-17 16:31  gb
9945
9946        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9947        platform-dependent.
9948
99492006-04-17 06:49  gb
9950
9951        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9952        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9953        already.
9954
99552006-04-17 06:17  gb
9956
9957        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9958        truly portable type name.
9959
99602006-04-17 06:16  gb
9961
9962        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9963        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9964        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9965        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9966        work if they're at the start of a line in Linux GAS.  Try /* */
9967        comments, but limit them to a single line.  (May ultimately be
9968        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9969
99702006-04-17 05:28  gb
9971
9972        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9973        x86-subprims64.s, x86-uuo.s: // comments.
9974
99752006-04-17 05:28  gb
9976
9977        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
9978        conditionalization.
9979
99802006-04-17 05:27  gb
9981
9982        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
9983        accessors, etc.)
9984
99852006-04-17 05:26  gb
9986
9987        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
9988        the sigstack trampoline stuff.)
9989
99902006-04-17 05:25  gb
9991
9992        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
9993        integer types.
9994
99952006-04-17 05:24  gb
9996
9997        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
9998        x86-constants64.s: // comments.
9999
100002006-04-17 05:23  gb
10001
10002        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10003        Solaris mmap() is ... unusual.
10004
100052006-04-17 05:21  gb
10006
10007        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10008        since Solaris version of GAS doen't handle multi-line comments (/*
10009        ... */).  It -seems- that other assemblers do handle them
10010        correctly; we'll see.
10011       
10012        Some Solaris conditionalization (ELFstabs, etc.)
10013
100142006-04-17 05:20  gb
10015
10016        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10017         We'll see what this breaks.
10018
100192006-04-17 05:19  gb
10020
10021        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10022        SOLARIS is defined.
10023
100242006-04-17 05:18  gb
10025
10026        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10027        registers in predictable order.
10028
100292006-04-17 05:17  gb
10030
10031        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10032        single-line comments, since Solaris version of GAS doen't handle
10033        multi-line comments (/* ... */).  It -seems- that other assemblers
10034        do handle them correctly; we'll see.
10035
100362006-04-17 05:15  gb
10037
10038        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10039
100402006-04-17 05:15  gb
10041
10042        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10043       
10044        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10045        platforms ?
10046
100472006-04-17 05:01  gb
10048
10049        * lisp-kernel/solarisx64/Makefile: new file
10050
100512006-04-17 04:56  gb
10052
10053        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10054        change the name/usage of the linker script.
10055       
10056        Stop using the linker script (since spjump is the only thing in the
10057        kernel that has to be at a fixed address and we can copy it there.)
10058       
10059        Don't disable the EGC.
10060
100612006-04-17 04:54  gb
10062
10063        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10064        the spjump table, exported for C (so that spjump can be mapped into
10065        low memory.)
10066
100672006-04-17 04:54  gb
10068
10069        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10070       
10071        If the tlb's too small when trying to bind a special, push the
10072        binding index of the symbol we're binding (for the benefit of the
10073        handler.)
10074
100752006-04-17 04:52  gb
10076
10077        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10078        code words than it has elements (can't happen, unless the
10079        function's code-words word is garbage, which seems to happen when
10080        closures get consed up in non-zeroed memory.)
10081       
10082        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10083        %nargs.q), which sometimes contains something tagged and
10084        non-immediate.
10085
100862006-04-17 04:48  gb
10087
10088        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10089        to ensure that everythings's zeroed.
10090       
10091        x8664 implementation of extend_tcr_tlb().
10092       
10093        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10094        in call to update_bytes_allocated().
10095       
10096        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10097        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10098        bug, and possibly some other instabiliy.)
10099       
10100        handle_exception: keep trying to guess how to distinguish memory
10101        faults from other sources of SIGSEGV.
10102       
10103        On debug traps, advance the PC past the UUO before entering the
10104        debugger.
10105       
10106        Handle XUUO_TLB_TOO_SMALL.
10107
101082006-04-17 04:42  gb
10109
10110        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10111        reserved_frame_marker.
10112
101132006-04-17 04:42  gb
10114
10115        * lisp-kernel/thread_manager.c: Remove implementation of
10116        extend_tcr_tlb().
10117
101182006-04-17 04:41  gb
10119
10120        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10121        extend_tcr_tlb().
10122
101232006-04-17 04:41  gb
10124
10125        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10126
101272006-04-17 04:40  gb
10128
10129        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10130        that we don't need to use a linker script.
10131
101322006-04-17 04:40  gb
10133
10134        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10135        target xxx-exceptions.h now.
10136
101372006-04-17 04:39  gb
10138
10139        * lib/misc.lisp: Some comment formatting/editing.
10140
101412006-04-17 04:38  gb
10142
10143        * level-1/version.lisp: Bump.
10144
101452006-04-17 04:38  gb
10146
10147        * level-1/l1-readloop.lisp: Some debugging code in the code which
10148        creates the final closure.  It seems that when it's bad, it's bad
10149        on creation (here.)
10150
101512006-04-17 04:37  gb
10152
10153        * level-1/l1-processes.lisp: Some debugging code in
10154        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10155        final closure to be trashed.
10156       
10157        I don't think that other threads were getting their allocptr's
10158        nullified correctly by the GC/normalize_tcr(); with the current
10159        debugging code in place, it seems like the closure is consed on top
10160        of something other than free, thread-private heap memory (when it's
10161        bad, it fails the first check here.  I'm not sure that the latest
10162        round of GC/normalize-tcr() changes have fixed the problem, but I
10163        haven't seen it in a while now, either.)
10164
101652006-04-17 04:32  gb
10166
10167        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10168        disassembly, etc.).
10169
101702006-04-17 04:31  gb
10171
10172        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10173        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10174        (anymore.)
10175       
10176        Subprims are down in low memory again; make INIT-CLOSURE skip
10177        setting the high byte of .SPcall-closure's address if it's zero.
10178
101792006-04-17 04:28  gb
10180
10181        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10182        which may help backtrace.
10183
101842006-04-17 04:26  gb
10185
10186        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10187        (interface/implementation.)
10188
101892006-04-15 09:20  gb
10190
10191        * level-1/x86-callback-support.lisp: Ensure that callback
10192        trampolines are allocated in executable memory.
10193
101942006-04-15 09:12  gb
10195
10196        * lib/dumplisp.lisp: Refresh external entry points before reviving
10197        callbacks.  Reset callback storage before reviving callbacks.
10198
101992006-04-15 09:10  gb
10200
10201        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10202        error message with a %.  (Where did that come from ?)
10203
102042006-04-15 09:08  gb
10205
10206        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10207        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10208        is executable.
10209
102102006-04-14 09:02  gb
10211
10212        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10213
102142006-04-14 08:21  gb
10215
10216        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10217        shorthand for the nearest matching year.
10218
102192006-04-14 08:20  gb
10220
10221        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10222        when : was missing.
10223
102242006-04-13 23:09  gb
10225
10226        * lib/ppc-backtrace.lisp: Eschew missing parens.
10227
102282006-04-13 23:08  gb
10229
10230        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10231
102322006-04-13 23:08  gb
10233
10234        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10235        ARGLIST-FROM-MAP.
10236
102372006-04-13 23:02  gb
10238
10239        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10240        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10241        about returning a second value; returns values NIL, T for functions
10242        that take no args and don't have a symbol map.
10243
102442006-04-13 22:53  gb
10245
10246        * level-1/l1-lisp-threads.lisp: Try to make args to
10247        NTH-VALUE-IN-FRAME et al a little saner.
10248
102492006-04-13 22:37  gb
10250
10251        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10252        type.
10253
102542006-04-13 22:36  gb
10255
10256        * level-1/version.lisp: Bump.
10257
102582006-04-13 22:35  gb
10259
10260        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10261        trying to find the cause of the crash-on-quit bug.
10262
102632006-04-13 07:30  gb
10264
10265        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10266
102672006-04-13 07:29  gb
10268
10269        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10270        stuff to target-backtrace.
10271
102722006-04-13 06:45  gb
10273
10274        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10275
102762006-04-13 06:44  gb
10277
10278        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10279        x8664.
10280
102812006-04-13 06:44  gb
10282
10283        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10284        bytes of %nargs_q contain arg count.
10285
102862006-04-13 06:43  gb
10287
10288        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10289
102902006-04-13 06:43  gb
10291
10292        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10293        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10294        APPLY.
10295
102962006-04-13 06:42  gb
10297
10298        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10299
103002006-04-13 06:41  gb
10301
10302        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10303        operands.
10304
103052006-04-13 06:41  gb
10306
10307        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10308        "vector-lists" instead of adjustable arrays, simplify handling of
10309        constant expressions.  Still conses hysterically; need to find out
10310        where and tone it down a bit, if possible.
10311
103122006-04-13 06:39  gb
10313
10314        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10315        operands; maybe no lap constant-expressions.
10316
103172006-04-13 06:39  gb
10318
10319        * compiler/X86/x86-asm.lisp: Don't need
10320        *lap-constant-0-expression*.
10321
103222006-04-13 00:46  gb
10323
10324        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10325        linker script.
10326
103272006-04-13 00:45  gb
10328
10329        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10330        2.16.1 (Thanks to James Bielman).
10331
103322006-04-12 18:53  gb
10333
10334        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10335        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10336        of this seems to have to do with C++ static constructors, which
10337        aren't really relevant here.)
10338
103392006-04-12 18:28  gb
10340
10341        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10342        between %Rforeign_sp and GPRs.
10343
103442006-04-12 18:22  gb
10345
10346        * lisp-kernel/linuxx8664/Makefile: egc flag
10347
103482006-04-12 18:08  gb
10349
10350        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10351        where we're losing here.
10352
103532006-04-12 18:07  gb
10354
10355        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10356        write barrier code, crap out if so.
10357
103582006-04-12 18:06  gb
10359
10360        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10361        (presumably in a Makefile).
10362
103632006-04-12 14:50  gb
10364
10365        * level-1/version.lisp: Bump.
10366
103672006-04-12 14:46  gb
10368
10369        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10370        x86-backtrace.lisp: new target backtrace stuff.
10371
103722006-04-12 14:45  gb
10373
10374        * lib/backtrace.lisp: Start splitting things up, ideally into a
10375        mostly abstract API and gory platform- dependent implementation
10376        details.
10377
103782006-04-11 21:40  gb
10379
10380        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10381        the damned thing on.  (A little painful with integrity checking
10382        enabled, as it still is by default.)
10383       
10384        TODO:
10385       
10386        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10387        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10388        exception handling - check UUO usage in kernel, disassembler,
10389        exception handlers - stack overflow recovery
10390
103912006-04-11 21:24  gb
10392
10393        * lisp-kernel/x86-gc.c: Skip over function code in
10394        check_refmap_consistency.
10395
103962006-04-11 21:23  gb
10397
10398        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10399        backwards.
10400
104012006-04-11 19:11  gb
10402
10403        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10404
104052006-04-11 19:11  gb
10406
10407        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10408        a closure, no lfname slot in closure.
10409
104102006-04-11 16:29  gb
10411
10412        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10413        area.
10414
104152006-04-11 16:29  gb
10416
10417        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10418        between lisp/foreign code.
10419
104202006-04-11 16:29  gb
10421
10422        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10423        bit-order problems.)
10424       
10425        Maintain the MXCSR on transitions between lisp/foreign code.
10426
104272006-04-11 16:28  gb
10428
10429        * lisp-kernel/x86-macros.s: Access globals in expressions.
10430
104312006-04-11 16:27  gb
10432
10433        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10434        need some bootstrapping stuff (function boundary markers) for a few
10435        reasons, as will DWS marker.
10436
104372006-04-11 16:27  gb
10438
10439        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10440        the siginfo error code.
10441
104422006-04-11 16:26  gb
10443
10444        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10445        fields in tcr.
10446
104472006-04-11 16:25  gb
10448
10449        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10450
104512006-04-11 16:25  gb
10452
10453        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10454        when starting a lisp thread.  (It'll be saner when FP exceptions
10455        are handled.)
10456
104572006-04-11 16:24  gb
10458
10459        * level-1/x86-error-signal.lisp: Recognize what complaints about
10460        non-uvectors are trying to tell us.
10461
104622006-04-11 16:23  gb
10463
10464        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10465        vectors.
10466
104672006-04-11 16:23  gb
10468
10469        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10470        Ses.  Define classes for function/symbol vectors.
10471
104722006-04-11 16:22  gb
10473
10474        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10475
104762006-04-11 16:21  gb
10477
10478        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10479        needs to add a function boundary marker (but we can stop padding
10480        each closure with a null function name slot.)
10481
104822006-04-11 16:20  gb
10483
10484        * compiler/X86/X8664/x8664-arch.lisp: Define
10485        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10486
104872006-04-11 16:19  gb
10488
10489        * compiler/X86/x862.lisp: Emit a function boundary marker between
10490        code and constants. (For GC reasons.) Change closure initialization
10491        to account for it.
10492
104932006-04-11 16:18  gb
10494
10495        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10496        between code and constants. (For GC reasons.)
10497
104982006-04-11 16:17  gb
10499
10500        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10501
105022006-04-11 16:17  gb
10503
10504        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10505       
10506        See if we can get by without 68K condition code ...
10507
105082006-04-11 06:53  gb
10509
10510        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10511        soon.
10512
105132006-04-11 06:53  gb
10514
10515        * lib/numbers.lisp: Infinity constants conditionalized on/off
10516        during MXCSR adventures.  On now.
10517
105182006-04-11 06:52  gb
10519
10520        * lib/describe.lisp: Comment indentation.
10521       
10522        No such thing as an interpreted function; hasn't been for years.
10523
105242006-04-11 06:51  gb
10525
10526        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10527        al.
10528
105292006-04-11 06:51  gb
10530
10531        * level-1/version.lisp: Bumped yesterday.
10532
105332006-04-11 06:50  gb
10534
10535        * level-1/l1-error-signal.lisp: Comments.
10536
105372006-04-11 06:50  gb
10538
10539        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10540        at least.
10541
105422006-04-11 06:50  gb
10543
10544        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10545        a fixnum constant is boxed in %SET-MXCSR.
10546
105472006-04-11 06:49  gb
10548
10549        * level-0/X86/x86-def.lisp: Get info about register usage.
10550
105512006-04-11 06:49  gb
10552
10553        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10554        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10555        though that it was dealing with a scaled index.
10556
105572006-04-11 06:48  gb
10558
10559        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10560        aref.
10561
105622006-04-11 06:48  gb
10563
10564        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10565        do something about FRAG-CODE-BUFFERs, and need to tone down
10566        expression overkill.
10567
105682006-04-11 06:46  gb
10569
10570        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10571        for when opcode ordinals change.
10572
105732006-04-11 06:46  gb
10574
10575        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10576        UUO-ERROR-ARRAY-RANK.
10577       
10578        Vinsn template fixup mechanism, for when opcode ordinals change.
10579
105802006-04-11 06:45  gb
10581
10582        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10583
105842006-04-11 06:45  gb
10585
10586        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10587
105882006-04-11 06:44  gb
10589
10590        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10591        specialized list header initialization.
10592
105932006-04-11 06:43  gb
10594
10595        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10596        2d float arrays.
10597
105982006-04-10 10:19  gb
10599
10600        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10601        foreign SP properly obeying C alignment conventions.  In order to
10602        get it aligned for lisp usage during the callback, an extra word
10603        needs to be pushed before the backpointer to the old foreign RSP.
10604
106052006-04-10 10:18  gb
10606
10607        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10608        is 16-byte aligned, so that the foreign stack pointer is aligned
10609        according to C conventions when we enter the signal handler on that
10610        stack.
10611
106122006-04-10 10:13  gb
10613
10614        * lib/numbers.lisp: Define FP infinities, since we're running with
10615        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10616        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10617        an unmasked FP exception was raised and unhandled.)
10618
106192006-04-10 10:10  gb
10620
10621        * lib/level-2.lisp: Remove the WARN and the conditionalization
10622        around bit/bitfield accessors on X8664.
10623
106242006-04-10 10:09  gb
10625
10626        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10627        from memory, we say "ldmxcsr".  We want to do such a load in order
10628        to write new values into the mxcsr.  To store it in memory, we say
10629        "stmxcsr".  We want to do such a store (and a subsequent load from
10630        memory) in order to access the value of the mxcsr.  Simple, no ?
10631
106322006-04-10 10:07  gb
10633
10634        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10635        %GET-BIT/%SET-BIT.
10636
106372006-04-10 08:29  gb
10638
10639        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10640        addition/multiplication: either arg can overlap result (and often
10641        will).  Float subtraction/division: caller should ensure that
10642        result and second arg are disjoint.
10643
106442006-04-10 08:27  gb
10645
10646        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10647        that result doesn't overlap second argument for non-commutative
10648        operations.
10649
106502006-04-10 08:26  gb
10651
10652        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10653
106542006-04-10 05:12  gb
10655
10656        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10657        malloc them.
10658
106592006-04-10 05:12  gb
10660
10661        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10662
106632006-04-10 05:11  gb
10664
10665        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10666        good reason not to.
10667
106682006-04-10 04:39  gb
10669
10670        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10671        are always big-endian.
10672
106732006-04-10 04:38  gb
10674
10675        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10676        reachable via a TRA, update the variable "dnode" so that the
10677        correct bits get set.
10678
106792006-04-10 04:37  gb
10680
10681        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10682
106832006-04-10 04:37  gb
10684
10685        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10686        a bit simpler.
10687
106882006-04-10 04:36  gb
10689
10690        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10691        the MAKE-LOAD-FORM method for hashtables.
10692
106932006-04-09 09:17  gb
10694
10695        * lisp-kernel/thread_manager.c: Inflate control stack size on
10696        x8664, until DWS marker works (and do so correctly this time).
10697
106982006-04-09 09:12  gb
10699
10700        * lisp-kernel/thread_manager.c: Inflate control stack size on
10701        x8664, until DWS marker works.
10702
107032006-04-09 09:09  gb
10704
10705        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10706        #+x86-target DBG trap.
10707
107082006-04-09 08:57  gb
10709
10710        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10711        (Should be exactly the same code, but may not have been 15 years
10712        ago or whenever this was written.)
10713
107142006-04-09 08:56  gb
10715
10716        * lisp-kernel/x86-spentry64.s,
10717        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10718        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10719
107202006-04-09 03:52  gb
10721
10722        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10723        condition_to_boolean.  Not clear why this is necessary, but it
10724        seems to be.
10725
107262006-04-09 03:24  gb
10727
10728        * lisp-kernel/x86-macros.s: Use shorter sequence in
10729        condition_to_boolean.
10730
107312006-04-09 02:32  gb
10732
10733        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10734        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10735        other things being equal.
10736
107372006-04-09 01:37  gb
10738
10739        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10740        operands backwards.
10741
107422006-04-09 01:37  gb
10743
10744        * compiler/optimizers.lisp: Comment formatting.
10745
107462006-04-09 01:29  gb
10747
10748        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10749        bsr/xorl != clz when (zerop n).
10750
107512006-04-08 21:25  gb
10752
10753        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10754        current thread before entering kernel debugger.
10755
107562006-04-08 21:21  gb
10757
10758        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10759        (TARGET-XLOAD-MODULES).
10760
107612006-04-08 21:21  gb
10762
10763        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10764
107652006-04-08 21:20  gb
10766
10767        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10768
107692006-04-08 20:46  gb
10770
10771        * lib/foreign-types.lisp: Add missing paren ...
10772
107732006-04-08 20:45  gb
10774
10775        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10776
107772006-04-08 20:44  gb
10778
10779        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10780        structs by value, sort of.
10781
107822006-04-08 20:43  gb
10783
10784        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10785
107862006-04-08 20:42  gb
10787
10788        * library/hash-cons.lisp: Port some of this to x8664; need to add
10789        code to maintain "used" bitmap.
10790
107912006-04-08 20:42  gb
10792
10793        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10794        short term.
10795
107962006-04-08 20:41  gb
10797
10798        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10799        someday fix this crap.
10800
108012006-04-08 20:40  gb
10802
10803        * lib/describe.lisp: Conditionalize, a little.
10804
108052006-04-08 20:40  gb
10806
10807        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10808
108092006-04-08 20:39  gb
10810
10811        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10812
108132006-04-08 20:39  gb
10814
10815        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10816
108172006-04-08 20:39  gb
10818
10819        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10820        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10821
108222006-04-08 20:38  gb
10823
10824        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10825        l1-readloop-lds (nothing to do with PPC or traps ...)
10826
108272006-04-08 20:37  gb
10828
10829        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10830
108312006-04-08 04:46  gb
10832
10833        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10834        restore, even if there's only one values-producing form (that form
10835        might produce more values than will fit in argument registers, and
10836        we therefore have to reserve space for a stack frame.)
10837
108382006-04-08 04:45  gb
10839
10840        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10841
108422006-04-08 04:43  gb
10843
10844        * lib/macros.lisp: Scanning backwards for instructions depends on a
10845        reasonable architecture.
10846
108472006-04-08 04:43  gb
10848
10849        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10850
108512006-04-08 04:42  gb
10852
10853        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10854        target arch.
10855
108562006-04-08 04:41  gb
10857
10858        * xdump/.cvsignore: ignore *.*fsl
10859
108602006-04-07 22:46  gb
10861
10862        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10863
108642006-04-07 22:45  gb
10865
10866        * compiler/nx1.lisp: Provide an FTYPE declaration for
10867        %DEFINE-PPC-LAP-FUNCTION.
10868
108692006-04-07 22:25  gb
10870
10871        * level-1/version.lisp: Bump.
10872
108732006-04-07 22:19  gb
10874
10875        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10876        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10877        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10878        package.
10879
108802006-04-07 22:18  gb
10881
10882        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
10883        arch:: to ccl::.
10884
108852006-04-07 22:17  gb
10886
10887        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
10888        RISC-LAP, for instance).  That's a different package, too.
10889
108902006-04-07 20:46  gb
10891
10892        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
10893
108942006-04-07 20:45  gb
10895
10896        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
10897        I maybe look at the others, or just fix them as I stumble on them ?
10898
108992006-04-07 20:44  gb
10900
10901        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
10902        a DOUBLE-FLOAT.
10903
109042006-04-07 20:41  gb
10905
10906        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
10907        message.
10908
109092006-04-07 20:40  gb
10910
10911        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not