source: trunk/ccl/ChangeLog @ 7238

Last change on this file since 7238 was 7238, 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: 786.3 KB
Line 
12007-09-17 06:10  gb
2
3        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
4        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
5        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
6        Do a real MOD to obtain the next item in the series and update the
7        state with that value.  (This means that the high bit of the high
8        half of the result is always clear; or in the sign bit from the low
9        half.)
10
112007-09-16 18:10  gb
12
13        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
14        ...
15
162007-09-16 17:10  gb
17
18        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
19        before key arg(s), so assign it an address before processing &key
20        initforms.
21
222007-09-15 17:10  gb
23
24        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
25        -LENGTH* when printing break messages.
26
272007-09-13 20:10  gb
28
29        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
30        :element-type to ccl:run-program to allow for binary streams
31
322007-09-13 06:55  gb
33
34        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
35        src/elisp/README, src/spell/README: Restore some README files,
36        which had somehow gotten lost in translation.
37
382007-09-13 06:54  gb
39
40        *
41        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
42        ib/: classes.nib, info.nib, keyedobjects.nib: not used
43
442007-09-13 06:52  gb
45
46        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
47        for certain kinds of MULTIPLE-VALUE-CALL differently; in
48        particular, note the effect of pushing such a label on stack depth.
49
502007-09-13 06:50  gb
51
52        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
53        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
54        containing directory exists in cvs.
55
562007-09-06 14:10  gb
57
58        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
59        write-info-plist
60
612007-09-04 23:11  gb
62
63        * cocoa-ide/cocoa-editor.lisp: New! Improved!
64       
65        The code which arranges for editing changes to be processed in the
66        main thread now does so via an NSInvocation (ObjC's notion of a
67        closure, sort of); the methods which run in the main thread handle
68        the job of synchronizing the underlying the Hemlock string and the
69        "real" NSMutableAttributedString as well as informing the text
70        system of pending editing changes via
71        #/edited:range:changeInLength:.  The code which processes deletions
72        does the change processing before modifying the string (other
73        methods do it after the change); this seems to be necessary to
74        avoid some things that could cause ticket:50.  (I'm not sure if
75        this fixes ticket:50, but it does seem to fix a reproducible case.)
76       
77        The #/replaceCharactersInRange:withString: method on
78        hemlock-text-storage (which handles buffer changes originating from
79        non-Hemlock sources) is careful to use a :right-inserting temporary
80        mark when modifying the buffer, to help ensure that
81        insertions/deletions take place at the correct absolute position.
82        (This may at least partially address bugs related to things getting
83        confused/out-of-bounds errors when doing lots of cutting and
84        pasting, though it's hard to know without reproducible cases.)
85       
86        The macros NSSTRING-ENCODING-TO-NSINTEGER and
87        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
88        least one of them wasn't.)
89       
90        The handling of text encoding for editor documents has changed in a
91        few ways.  If "automatic" encoding is used in an "Open ..." dialog
92        and is successfully able to infer a text file's encoding, the
93        encoding that was inferred becomes the document's encoding (used in
94        subsequent "save" operations.)  On some OSX versions, the automatic
95        detection mechanism can only recognize UTF-16 files that contain a
96        leading BOM (and the editor's code for dealing with the automatic
97        mechanism didn't expect this to ever work.)  On other systems, the
98        automatic mechanism can return something correct (I've seen UTF-8)
99        but possibly suboptimal.
100       
101        The Open... dialog now defaults to something derived from the
102        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
103        "automatic" is a little unpredictable, the new default is probably
104        better.
105       
106        The NSDocument mechanism for creating backup files (with names of
107        the form "name~.ext") is not used; when backup files are created,
108        we try to copy the original to a file whose name conforms to the
109        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
110        seem to work better when the Emacs scheme is used (though I suppose
111        some people might prefer the NSDocument scheme and we could make
112        this a preference.)
113
1142007-09-04 22:11  gb
115
116        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
117        creating a Listener, since (a) that method's deprecated in favor of
118        #/setFileURL: and (b) a newly-created Listener doesn't really have
119        an associated filename, and so shouldn't get the icon and popup in
120        its titlebar.
121       
122        Do arrange that (unless/until a listener document is saved to a
123        file) its window title is based on the underlying Hemlock buffer's
124        name.  (If one ever attempts to save a listener document, the
125        proposed file name is the internal NSDocument name; we might or
126        might not want to change that.)
127
1282007-09-04 22:10  gb
129
130        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
131        *MODELINE-FONT-NAME*, -SIZE*.
132
1332007-09-04 19:13  gb
134
135        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
136        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
137        which was supposed to allow us to track the high end of a range of
138        pages that'd been written to and not freed (so we'd zero them
139        lazily when they were reallocated.)  Such a scheme would really
140        need to track both ends of such a range, and the old scheme wound
141        up being overly zealous and often zeroed pages that were already
142        zeroed.  Zero the range between the old free pointer and the new
143        one after each GC, instead.
144       
145        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
146        carefully.
147
1482007-09-04 19:12  gb
149
150        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
151        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
152
1532007-09-04 19:11  gb
154
155        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
156        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
157        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
158        this in the PPC backends.
159       
160        (This needs testing ...)
161
1622007-09-04 19:10  gb
163
164        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
165        :single-float callback results have been coerced to :double-float
166        on x8664.
167
1682007-09-03 18:10  gb
169
170        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
171        selection or the symbol around point, regardless of global parsing
172        state (Ticket:95).  While in there, make meta-. with a numarg
173        prompt for symbol to look up.
174
1752007-08-30 20:10  gb
176
177        * level-1/l1-error-system.lisp: Add a restart for unbound
178        variable/undefined function errors -- if there is a unique
179        bound/fbound symbol of the same name in another package, offer to
180        use it instead.
181
1822007-08-30 19:10  gb
183
184        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
185        inaccesible files; it might return an exit status of 2 if it finds
186        such files, so treat that as "success" for now (ticket:98).
187
1882007-08-30 18:11  gb
189
190        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
191        Variable command output (ticket:97).
192
1932007-08-30 18:10  gb
194
195        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
196        VARIABLE-VALUE to access buffer's package (ticket:82).
197
1982007-08-30 15:11  gb
199
200        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
201        code to copy user-supplied nibfiles into a saved application bundle
202
2032007-08-30 14:10  gb
204
205        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
206        all callers of current-point-for-deletion handle the nil return
207        value case.  This fixes ticket:85
208
2092007-08-29 20:11  gb
210
211        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
212        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
213        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
214        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
215        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
216        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
217        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
218        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
219        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
220        hemlock/src/fill.lisp, hemlock/src/font.lisp,
221        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
222        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
223        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
224        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
225        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
226        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
227        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
228        hemlock/src/macros.lisp, hemlock/src/main.lisp,
229        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
230        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
231        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
232        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
233        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
234        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
235        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
236        hemlock/src/text.lisp, hemlock/src/undo.lisp,
237        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
238        hemlock/src/archive/auto-save.lisp,
239        hemlock/src/archive/bit-display.lisp,
240        hemlock/src/archive/bit-screen.lisp,
241        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
242        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
243        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
244        hemlock/src/archive/eval-server.lisp,
245        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
246        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
247        hemlock/src/archive/lisp-lib.lisp,
248        hemlock/src/archive/lispbuf.lisp,
249        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
250        hemlock/src/archive/netnews.lisp,
251        hemlock/src/archive/overwrite.lisp,
252        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
253        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
254        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
255        hemlock/src/archive/spell-corr.lisp,
256        hemlock/src/archive/spell-rt.lisp,
257        hemlock/src/archive/spellcoms.lisp,
258        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
259        hemlock/src/archive/ts-stream.lisp,
260        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
261        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
262        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
263        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
264        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
265        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
266        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
267        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
268        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
269        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
270        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
271        hemlock/website/index.html.in: umm, load cocoa-grep where it will
272        work...
273
2742007-08-29 20:10  gb
275
276        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
277
2782007-08-29 13:11  gb
279
280        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
281
2822007-08-29 12:12  gb
283
284        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
285        arg (simple case), move point to the location of the temporary mark
286        after calling the indent function.
287
2882007-08-29 12:11  gb
289
290        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
291        returns 2 values: the "column" (with tabs expanded) of the first
292        non-whitespace character on the line and that character's position.
293         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
294        position if no changes are necessary.
295
2962007-08-29 12:10  gb
297
298        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
299        method, make an NS-MUTABLE-STRING even if the string from the
300        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
301        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
302         mutable.) For ticket:84.
303
3042007-08-28 23:10  gb
305
306        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
307        hi::scroll-window actually scroll, not just move insertion point
308        around.  Fixes ticket:88.
309
3102007-08-26 13:11  gb
311
312        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
313        keyword argument to build-application: main-nib-name; names the
314        nigfile that is to be the main nib of the built application
315
3162007-08-26 12:10  gb
317
318        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
319        application bulder to trunk
320
3212007-08-25 02:13  gb
322
323        * cocoa-ide/cocoa-listener.lisp:
324        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
325        #\^d after sending the string.  (This is just a workaround for
326        ticket:82; the trailing #\^d is just treated as whitespace and
327        terminates calls to READ.  We really want some way of recognizing
328        "end of selection" and treating that like a transient EOF in some
329        cases.)
330
3312007-08-25 02:12  gb
332
333        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
334        #/openDocumentWithContentsOfURL:display:error:, since calling
335        #/openDocumentWithContentsOfURL:display: complains that
336        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
337        Cocoa.  (Note that we'd been calling
338        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
339        implementation without incident.)
340
3412007-08-25 02:11  gb
342
343        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
344        notes buffer modification.
345
3462007-08-25 02:10  gb
347
348        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
349        modification.
350
3512007-08-23 17:17  gb
352
353        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
354        method.
355
3562007-08-23 17:16  gb
357
358        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
359        #/editingInProgress method.  Add some more (conditionalized) debug
360        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
361        command thread as well as in Cocoa thread.  Make sure that Hemlock
362        command thread has bindings of command-processing data structures,
363        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
364        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
365        only set by isearch when it exits.
366
3672007-08-23 17:15  gb
368
369        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
370        font name and size; initially, Monaco 9.  (Not yet changeable
371        through preferences panel.) Adjust outline view's row height based
372        on font height.  Set the data cell to "non-editable" (could have
373        done this in IB).  Provide handlers for some menu commands
374        (continue, restarts, exitBreak); no need to validate menu items for
375        them (those commands should be available whenever backtrace dialog
376        is active.)
377
3782007-08-23 17:14  gb
379
380        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
381        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
382
3832007-08-23 17:13  gb
384
385        * cocoa-ide/hemlock/src/package.lisp: Export
386        RECURSIVE-GET-KEY-EVENT.
387
3882007-08-23 17:12  gb
389
390        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
391        read symbol for arglist.  (Should probably be more careful
392        elsewhere, too.)
393
3942007-08-23 17:11  gb
395
396        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
397        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
398        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
399
4002007-08-23 17:10  gb
401
402        * cocoa-ide/hemlock/src/echo.lisp: Don't call
403        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
404        still be pending on the echo area (how ?), and
405        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
406        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
407
4082007-08-23 16:11  gb
409
410        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
411        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
412        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
413        events in some modal loop in a command.  (The idea is that toplevel
414        editing commands inhibit redisplay in the main buffer while they're
415        active; commands which recursively process key events and which may
416        make changes to that buffer should allow redisplay while they're
417        waiting in RECURSIVE-GET-KEY-EVENT.)
418
4192007-08-23 16:10  gb
420
421        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
422        revert.
423
4242007-08-18 19:11  gb
425
426        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
427        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
428        race conditions where two threads try to update a distpatch table
429        index with different {wrapper, combined-method} pairs at the same
430        time.  (As it's written, if the store-conditional fails because a
431        slot that we thought was free is now in use, we simply don't cache
432        the pair and get a cache miss the next time; that may or may not be
433        more work than repeating the whole process would be.)
434       
435        The store-conditional is used on attempt to update the
436        combined-method slot in the pair; the wrapper slot is only updated
437        if the store-conditional succeeds.  Code which probes the wrapper
438        slots shouldn't be confused by a half-updated pair (should never
439        see a non-null wrapper slot and a null combined-method slot.)
440
4412007-08-18 17:11  gb
442
443        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
444        %DECODE-TYPE.
445
4462007-08-18 16:10  gb
447
448        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
449        determine if selection highlighting can be used, since
450        #_class_respondsToSelector requires ObjC-2.0)
451
4522007-08-16 08:22  gb
453
454        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
455        extended selection highlighting if it's supported.
456       
457        Clear the shift bit from key events associated with standard-chars.
458
4592007-08-16 08:20  gb
460
461        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
462        bound to movement commands run different commands.
463       
464        Left-mouse has the :mouse-exit logical attribute.
465
4662007-08-16 08:19  gb
467
468        * cocoa-ide/hemlock/src/buffer.lisp:
469        CURRENT-POINT-COLLAPSING-SELECTION and
470        CURRENT-POINT-EXTENDING-SELECTION replace
471        CURRENT-POINT-FOR-MOVEMENT.
472
4732007-08-16 08:18  gb
474
475        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
476        translation.
477       
478        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
479        selection highlighting under Leopard.
480
4812007-08-16 08:16  gb
482
483        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
484        "shifted" and "unshifted" variants.
485
4862007-08-16 08:15  gb
487
488        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
489        attribute.
490
4912007-08-16 08:14  gb
492
493        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
494        bit for standard-char (and upper-case.) This means that
495        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
496        (in which the shift modifier isn't explicitly set) and that
497        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
498        modifier is set in the latter.)
499
5002007-08-16 08:13  gb
501
502        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
503        the buffer if the line's already indented properly.
504       
505        Movement commands come in two variants: those that collapse and
506        those that extend the selection.
507
5082007-08-16 08:12  gb
509
510        * cocoa-ide/hemlock/src/package.lisp: Export
511        CURRENT-POINT-EXTENDING-SELECTION and
512        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
513        CURRENT-POINT-FOR-MOVEMENT.
514
5152007-08-16 08:10  gb
516
517        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
518        empatically (under Leopard) after successful (non incremental)
519        search.
520       
521        Incremental search also hilites the selection, but doesn't yet
522        manage the selection on failure.
523
5242007-08-16 07:10  gb
525
526        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
527        by invoking #/activateHemlockView on main thread; call
528        deactivate-hemlock-view on the peer.
529       
530        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
531        but I'm fairly sure that this stuff needs to happen on the main
532        thread.
533
5342007-08-09 16:10  gb
535
536        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
537        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
538
5392007-08-07 15:10  gb
540
541        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
542        beginning of buffer and end of buffer.  It's Mac standard, and I
543        use it a lot.  Home was bound to "Help".
544       
545        Make clicking the mouse while incremental searching exit instead of
546        abort, leaving the insertion point where you click instead of where
547        the isearch was started.
548
5492007-08-06 23:10  gb
550
551        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
552        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
553        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
554        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
555        hemlock key event, set the hemlock shift bit if the the Cocoa shift
556        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
557        bit cleared and the keysym downcased (if necessary).  Leave
558        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
559        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
560        deactivates the region ("collapses the selection") if the shift bit
561        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
562        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
563        hopefully all) movement commands, to address ticket:36 .  Define a
564        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
565        to it to address ticket:44 .
566
5672007-08-06 19:10  gb
568
569        * objc-bridge/objc-support.lisp: careful with db stuff
570
5712007-08-04 13:12  gb
572
573        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
574        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
575         (Should maybe do this on mousedown in the echo area, too.) Some
576        indentation changes.
577
5782007-08-04 12:14  gb
579
580        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
581        :abort key event.
582
5832007-08-04 12:13  gb
584
585        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
586        title for show lossage command.
587
5882007-08-04 12:12  gb
589
590        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
591        left mouse down, so that we can use #k"leftdown".
592
5932007-08-04 12:11  gb
594
595        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
596
5972007-08-03 15:10  gb
598
599        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
600
6012007-08-03 10:10  gb
602
603        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
604        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
605
6062007-08-03 09:10  gb
607
608        * level-0/l0-array.lisp: Define list-to-vector.
609
6102007-08-02 07:16  gb
611
612        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
613        #/changeFont:; use targeted messages.  Ensure that font panel picks
614        up the right font.
615
6162007-08-02 07:16  gb
617
618        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
619        default.
620
6212007-08-02 07:15  gb
622
623        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
624        view, echo area) unselectable when activating via Hemlock command.
625        Text views don't use font panel by default; enable/disable font
626        panel when setting text color.
627
6282007-08-02 07:14  gb
629
630        * cocoa-ide/.cvsignore: New.
631
6322007-08-02 07:13  gb
633
634        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
635        CREATE-INTERFACES.
636
6372007-08-02 07:12  gb
638
639        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
640
6412007-08-02 07:11  gb
642
643        * library/parse-ffi.lisp: Don't be verbose about explict struct
644        returns.
645
6462007-08-02 07:10  gb
647
648        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
649        anymore.
650
6512007-07-31 19:10  gb
652
653        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
654        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
655
6562007-07-31 07:12  gb
657
658        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
659        to #o644 (not #o666); make sure that it's actually used when
660        creating the image (even if not prepending a kernel to the image.)
661
6622007-07-31 07:11  gb
663
664        * level-1/l1-application.lisp: When processing --version option,
665        don't write to *terminal-io* (which doesn't exist yet.)
666
6672007-07-22 23:50  gb
668
669        * release-notes.txt: Add more stuff.
670
6712007-07-22 23:11  gb
672
673        * level-1/version.lisp: Bump.
674
6752007-07-22 23:10  gb
676
677        * release-notes.txt: Update for 1.1-pre-070722.
678
6792007-07-22 21:11  gb
680
681        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
682
6832007-07-22 21:10  gb
684
685        * cocoa-ide/README: New file.
686
6872007-07-22 18:51  gb
688
689        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
690        package.
691
6922007-07-22 18:50  gb
693
694        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
695
6962007-07-22 18:49  gb
697
698        * level-1/version.lisp: Bump.
699
7002007-07-22 18:48  gb
701
702        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
703        Allocate callback trampolines via mmap on ppc, too.
704
7052007-07-22 18:47  gb
706
707        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
708        RUN-PROGRAM to merge-pathnames.
709
7102007-07-22 18:46  gb
711
712        * level-1/l1-utils.lisp: Don't define BEEP.
713
7142007-07-22 18:46  gb
715
716        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
717        was counting chars (nchars) twice.
718
7192007-07-22 18:45  gb
720
721        * level-1/l1-streams.lisp: selection-stream changes.
722
7232007-07-22 18:44  gb
724
725        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
726        about restarts in backtrace context.
727
7282007-07-22 18:43  gb
729
730        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
731        can be overridden.
732
7332007-07-22 18:42  gb
734
735        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
736        *MODULE-SEARCH-PATH*.
737
7382007-07-22 18:41  gb
739
740        * level-1/l1-format.lisp: Handling of * format directive when
741        dealing with circularity screws up other things that expect
742        *FORMAT-ARGUMENTS* to share structure with
743        *FORMAT-ORIGINAL-ARGUMENTS*.
744
7452007-07-22 18:40  gb
746
747        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
748        ENSURE-DIRECTORY-NAMESTRING.
749
7502007-07-22 18:40  gb
751
752        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
753        interactive break.
754
7552007-07-22 18:39  gb
756
757        * level-1/l1-error-system.lisp: Stream error context stuff.
758
7592007-07-22 18:38  gb
760
761        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
762        (e.g., as NSExceptions.)
763
7642007-07-22 18:37  gb
765
766        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
767        CLASS-SLOT-INITARGS.
768
7692007-07-22 18:36  gb
770
771        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
772        allocation stuff (which uses mmap to ensure that the callback is in
773        executable memory) here, since it'll be needed on ppc64 leopard, at
774        least.
775
7762007-07-22 18:35  gb
777
778        * level-1/l1-application.lisp: Argument handling and interactive
779        stream initialization happens in a :before method on
780        (toplevel-function application).
781
7822007-07-22 18:34  gb
783
784        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
785        special args/locals, too.
786
7872007-07-22 18:33  gb
788
789        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
790        for backtrace/inspect someday.
791
7922007-07-22 18:33  gb
793
794        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
795
7962007-07-22 18:32  gb
797
798        * lib/macros.lisp: Callbacks that try to do magic foreign error
799        stuff use HANDLER-BIND, not HANDLER-CASE.
800       
801        Other callback-changes to reduce incidental consing sometimes.
802
8032007-07-22 18:31  gb
804
805        * lib/backtrace.lisp: %show-args-and-locals,
806        %stack-frames-in-context: changes for new backtrace presentation.
807
8082007-07-22 18:30  gb
809
810        * lib/compile-ccl.lisp: Remove some duplicate definitions.
811
8122007-07-22 18:29  gb
813
814        * lib/describe.lisp: Some (signigicant) stack-frame changes.
815
8162007-07-22 18:28  gb
817
818        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
819
8202007-07-22 18:27  gb
821
822        * lib/arglist.lisp: Provide -some- arglist info for special
823        operators.  ARG-NAMES-FROM-MAP.
824
8252007-07-22 18:27  gb
826
827        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
828
8292007-07-22 18:26  gb
830
831        * lib/source-files.lisp: Comment formatting.
832
8332007-07-22 18:25  gb
834
835        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
836        to provide context.
837
8382007-07-22 18:24  gb
839
840        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
841        get confused by null register values, etc.
842
8432007-07-22 18:23  gb
844
845        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
846        not ppc32/ppc64.
847
8482007-07-22 18:22  gb
849
850        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
851        64-bit key-scrambling stuff.
852
8532007-07-22 18:21  gb
854
855        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
856
8572007-07-22 18:21  gb
858
859        * level-0/l0-utils.lisp: s32->u32, u32->s32.
860
8612007-07-22 18:20  gb
862
863        * level-0/l0-error.lisp: foreign exception error stuff.
864
8652007-07-22 18:19  gb
866
867        * level-1/l1-sockets.lisp: Sockets created with :format :binary
868        don't have element-type of character, though this crap is all
869        pretty nebulous.
870
8712007-07-22 18:18  gb
872
873        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
874
8752007-07-22 18:17  gb
876
877        * library/pty.lisp: set-pty-raw.
878
8792007-07-22 18:16  gb
880
881        * library/hemlock.lisp: Moved elsewhere.
882
8832007-07-22 18:15  gb
884
885        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
886        frames.
887
8882007-07-22 18:14  gb
889
890        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
891
8922007-07-22 18:14  gb
893
894        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
895        exception bit on interrupt.
896
8972007-07-22 18:13  gb
898
899        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
900        tcr flag bits, including new one for foreign exceptions.
901
9022007-07-22 18:12  gb
903
904        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
905
9062007-07-22 18:11  gb
907
908        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
909        exceptions.
910
9112007-07-22 18:10  gb
912
913        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
914        stack for pthread.  Foreign exception callbacks: put some 0s on the
915        stack for callback.
916
9172007-07-22 18:09  gb
918
919        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
920
9212007-07-22 18:08  gb
922
923        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
924        ensure_stack_limit(): if stack size is constrained by limits, don't
925        exceed those limits.
926
9272007-07-22 18:08  gb
928
929        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
930
9312007-07-22 18:07  gb
932
933        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
934
9352007-07-22 18:06  gb
936
937        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
938
9392007-07-22 18:03  gb
940
941        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
942        OpenMCL.app/Contents/MacOS/dppccl,
943        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
944        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
945        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
946        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
947        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
948        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
949        ib,
950        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
951        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
952        cts.nib,
953        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
954        lasses.nib,
955        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
956        nfo.nib,
957        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
958        eyedobjects.nib,
959        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
960        nib,
961        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
962        ,
963        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
964        ects.nib,
965        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
966        .nib,
967        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
968        b,
969        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
970        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
971        OpenMCL.app/Contents/Resources/Help/index.html,
972        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
973        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
974        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
975        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
976        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
977        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
978        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
979        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
980        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
981        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
982        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
983        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
984        rings,
985        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
986        /classes.nib,
987        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
988        /info.nib,
989        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
990        /keyedobjects.nib,
991        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
992        ctor.nib/classes.nib,
993        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
994        ctor.nib/info.nib,
995        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
996        ctor.nib/keyedobjects.nib,
997        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
998        b/classes.nib,
999        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1000        b/info.nib,
1001        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1002        b/keyedobjects.nib,
1003        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1004        ib/classes.nib,
1005        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1006        ib/info.nib,
1007        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1008        ib/keyedobjects.nib,
1009        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1010        ib/classes.nib,
1011        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1012        ib/info.nib,
1013        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1014        ib/keyedobjects.nib,
1015        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1016        nib/classes.nib,
1017        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1018        nib/info.nib,
1019        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1020        nib/keyedobjects.nib,
1021        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1022        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1023        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1024        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1025        cocoa-ide/hemlock/hemlock11.cursor,
1026        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1027        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1028        cocoa-ide/hemlock/doc/.cvsignore,
1029        cocoa-ide/hemlock/doc/cim/.cvsignore,
1030        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1031        cocoa-ide/hemlock/doc/cim/cim.mss,
1032        cocoa-ide/hemlock/doc/misc/.cvsignore,
1033        cocoa-ide/hemlock/doc/misc/compilation.order,
1034        cocoa-ide/hemlock/doc/misc/hemlock.log,
1035        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1036        cocoa-ide/hemlock/doc/misc/notes.txt,
1037        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1038        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1039        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1040        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1041        cocoa-ide/hemlock/doc/user/.cvsignore,
1042        cocoa-ide/hemlock/doc/user/commands.mss,
1043        cocoa-ide/hemlock/doc/user/intro.mss,
1044        cocoa-ide/hemlock/doc/user/lisp.mss,
1045        cocoa-ide/hemlock/doc/user/mail.mss,
1046        cocoa-ide/hemlock/doc/user/netnews.mss,
1047        cocoa-ide/hemlock/doc/user/special-modes.mss,
1048        cocoa-ide/hemlock/doc/user/user.mss,
1049        cocoa-ide/hemlock/maint/.cvsignore,
1050        cocoa-ide/hemlock/maint/publish,
1051        cocoa-ide/hemlock/resources/.cvsignore,
1052        cocoa-ide/hemlock/resources/XKeysymDB,
1053        cocoa-ide/hemlock/resources/mh-scan,
1054        cocoa-ide/hemlock/resources/spell-dictionary.text,
1055        cocoa-ide/hemlock/src/.cvsignore,
1056        cocoa-ide/hemlock/src/bindings-gb.lisp,
1057        cocoa-ide/hemlock/src/bindings.lisp,
1058        cocoa-ide/hemlock/src/buffer.lisp,
1059        cocoa-ide/hemlock/src/charmacs.lisp,
1060        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1061        cocoa-ide/hemlock/src/command.lisp,
1062        cocoa-ide/hemlock/src/comments.lisp,
1063        cocoa-ide/hemlock/src/completion.lisp,
1064        cocoa-ide/hemlock/src/cursor.lisp,
1065        cocoa-ide/hemlock/src/decls.lisp,
1066        cocoa-ide/hemlock/src/defsyn.lisp,
1067        cocoa-ide/hemlock/src/doccoms.lisp,
1068        cocoa-ide/hemlock/src/echo.lisp,
1069        cocoa-ide/hemlock/src/echocoms.lisp,
1070        cocoa-ide/hemlock/src/edit-defs.lisp,
1071        cocoa-ide/hemlock/src/filecoms.lisp,
1072        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1073        cocoa-ide/hemlock/src/font.lisp,
1074        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1075        cocoa-ide/hemlock/src/htext1.lisp,
1076        cocoa-ide/hemlock/src/htext2.lisp,
1077        cocoa-ide/hemlock/src/htext3.lisp,
1078        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1079        cocoa-ide/hemlock/src/indent.lisp,
1080        cocoa-ide/hemlock/src/interp.lisp,
1081        cocoa-ide/hemlock/src/kbdmac.lisp,
1082        cocoa-ide/hemlock/src/key-event.lisp,
1083        cocoa-ide/hemlock/src/keysym-defs.lisp,
1084        cocoa-ide/hemlock/src/killcoms.lisp,
1085        cocoa-ide/hemlock/src/line.lisp,
1086        cocoa-ide/hemlock/src/linimage.lisp,
1087        cocoa-ide/hemlock/src/lispdep.lisp,
1088        cocoa-ide/hemlock/src/lispmode.lisp,
1089        cocoa-ide/hemlock/src/listener.lisp,
1090        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1091        cocoa-ide/hemlock/src/modeline.lisp,
1092        cocoa-ide/hemlock/src/morecoms.lisp,
1093        cocoa-ide/hemlock/src/package.lisp,
1094        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1095        cocoa-ide/hemlock/src/register.lisp,
1096        cocoa-ide/hemlock/src/ring.lisp,
1097        cocoa-ide/hemlock/src/rompsite.lisp,
1098        cocoa-ide/hemlock/src/search1.lisp,
1099        cocoa-ide/hemlock/src/search2.lisp,
1100        cocoa-ide/hemlock/src/searchcoms.lisp,
1101        cocoa-ide/hemlock/src/srccom.lisp,
1102        cocoa-ide/hemlock/src/streams.lisp,
1103        cocoa-ide/hemlock/src/struct.lisp,
1104        cocoa-ide/hemlock/src/syntax.lisp,
1105        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1106        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1107        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1108        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1109        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1110        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1111        cocoa-ide/hemlock/src/archive/bufed.lisp,
1112        cocoa-ide/hemlock/src/archive/debug.lisp,
1113        cocoa-ide/hemlock/src/archive/dired.lisp,
1114        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1115        cocoa-ide/hemlock/src/archive/display.lisp,
1116        cocoa-ide/hemlock/src/archive/dylan.lisp,
1117        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1118        cocoa-ide/hemlock/src/archive/group.lisp,
1119        cocoa-ide/hemlock/src/archive/highlight.lisp,
1120        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1121        cocoa-ide/hemlock/src/archive/input.lisp,
1122        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1123        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1124        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1125        cocoa-ide/hemlock/src/archive/mh.lisp,
1126        cocoa-ide/hemlock/src/archive/netnews.lisp,
1127        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1128        cocoa-ide/hemlock/src/archive/pascal.lisp,
1129        cocoa-ide/hemlock/src/archive/rcs.lisp,
1130        cocoa-ide/hemlock/src/archive/screen.lisp,
1131        cocoa-ide/hemlock/src/archive/scribe.lisp,
1132        cocoa-ide/hemlock/src/archive/shell.lisp,
1133        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1134        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1135        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1136        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1137        cocoa-ide/hemlock/src/archive/srccom.lisp,
1138        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1139        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1140        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1141        cocoa-ide/hemlock/src/archive/window.lisp,
1142        cocoa-ide/hemlock/src/archive/winimage.lisp,
1143        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1144        cocoa-ide/hemlock/src/elisp/.cvsignore,
1145        cocoa-ide/hemlock/src/elisp/base.lisp,
1146        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1147        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1148        cocoa-ide/hemlock/src/elisp/compile.lisp,
1149        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1150        cocoa-ide/hemlock/src/elisp/implementation-needed,
1151        cocoa-ide/hemlock/src/elisp/internals.lisp,
1152        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1153        cocoa-ide/hemlock/src/elisp/packages.lisp,
1154        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1155        cocoa-ide/hemlock/src/spell/.cvsignore,
1156        cocoa-ide/hemlock/src/spell/build.lisp,
1157        cocoa-ide/hemlock/src/spell/classes.lisp,
1158        cocoa-ide/hemlock/src/spell/constants.lisp,
1159        cocoa-ide/hemlock/src/spell/correlate.lisp,
1160        cocoa-ide/hemlock/src/spell/flags.lisp,
1161        cocoa-ide/hemlock/src/spell/hashing.lisp,
1162        cocoa-ide/hemlock/src/spell/io.lisp,
1163        cocoa-ide/hemlock/src/spell/package.lisp,
1164        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1165        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1166        cocoa-ide/hemlock/src/spell/spell.asd,
1167        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1168        cocoa-ide/hemlock/src/tty/.cvsignore,
1169        cocoa-ide/hemlock/src/tty/termcap.lisp,
1170        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1171        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1172        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1173        cocoa-ide/hemlock/src/wire/.cvsignore,
1174        cocoa-ide/hemlock/src/wire/Notes,
1175        cocoa-ide/hemlock/src/wire/package.lisp,
1176        cocoa-ide/hemlock/src/wire/port.lisp,
1177        cocoa-ide/hemlock/src/wire/remote.lisp,
1178        cocoa-ide/hemlock/src/wire/wire.lisp,
1179        cocoa-ide/hemlock/unused/.cvsignore,
1180        cocoa-ide/hemlock/unused/bit-stream.lisp,
1181        cocoa-ide/hemlock/unused/clx-ext.lisp,
1182        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1183        cocoa-ide/hemlock/unused/gosmacs.lisp,
1184        cocoa-ide/hemlock/unused/hacks.lisp,
1185        cocoa-ide/hemlock/unused/hemcom.lisp,
1186        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1187        cocoa-ide/hemlock/unused/keytran.lisp,
1188        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1189        cocoa-ide/hemlock/unused/spell-build.lisp,
1190        cocoa-ide/hemlock/unused/struct-ed.lisp,
1191        cocoa-ide/hemlock/unused/tty-stream.lisp,
1192        cocoa-ide/hemlock/website/.cvsignore,
1193        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1194        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1195        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1196        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1197        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1198        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1199        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1200        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1201        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1202        examples/objc-clos.lisp, examples/objc-package.lisp,
1203        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1204        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1205        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1206        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1207        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1208        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1209        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1210        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1211        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1212        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1213        hemlock/doc/misc/perq-hemlock.log,
1214        hemlock/doc/misc/things-to-do.txt,
1215        hemlock/doc/scribe-converter/.cvsignore,
1216        hemlock/doc/scribe-converter/NOTES,
1217        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1218        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1219        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1220        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1221        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1222        hemlock/maint/publish, hemlock/resources/.cvsignore,
1223        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1224        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1225        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1226        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1227        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1228        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1229        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1230        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1231        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1232        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1233        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1234        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1235        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1236        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1237        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1238        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1239        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1240        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1241        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1242        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1243        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1244        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1245        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1246        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1247        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1248        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1249        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1250        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1251        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1252        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1253        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1254        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1255        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1256        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1257        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1258        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1259        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1260        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1261        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1262        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1263        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1264        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1265        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1266        hemlock/src/table.lisp, hemlock/src/text.lisp,
1267        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1268        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1269        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1270        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1271        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1272        hemlock/src/elisp/base.lisp,
1273        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1274        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1275        hemlock/src/elisp/hemlock-shims.lisp,
1276        hemlock/src/elisp/implementation-needed,
1277        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1278        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1279        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1280        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1281        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1282        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1283        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1284        hemlock/src/spell/spell-aug.lisp,
1285        hemlock/src/spell/spell-dictionary.text,
1286        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1287        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1288        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1289        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1290        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1291        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1292        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1293        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1294        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1295        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1296        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1297        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1298        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1299        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1300        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1301        objc-bridge/fake-cfbundle-path.lisp,
1302        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1303        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1304        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1305        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1306        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1307        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1308        things moved from "examples" to one of these directories,
1309        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1310        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1311        "ide-1.0" branch for details.
1312
13132007-06-15 19:10  gb
1314
1315        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1316
13172007-06-15 14:10  gb
1318
1319        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1320        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1321        (shouldn't get here if we're catching that upstream, but ...)
1322
13232007-06-01 08:34  gb
1324
1325        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1326        caught most places.
1327
13282007-06-01 08:33  gb
1329
1330        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1331        if it can't find the package, accepts a stream argument in order to
1332        signal that type of error.  (Note that this has never been
1333        recoverable in general, especially in the case where the input
1334        stream is *terminal-io* or shares its input stream.)
1335
13362007-06-01 08:32  gb
1337
1338        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1339        reporting themselves.
1340
13412007-06-01 08:31  gb
1342
1343        * level-1/l1-error-system.lisp: Define and use
1344        STREAM-ERROR-CONTEXT.
1345
13462007-06-01 08:30  gb
1347
1348        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1349        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1350        probably have been caught earlier.
1351
13522007-06-01 08:29  gb
1353
1354        * level-1/l1-streams.lisp: Try to provide some context -
1355        "surrounding characters" - for reader/stream errors on character
1356        input streams.
1357
13582007-06-01 08:28  gb
1359
1360        * level-1/l1-unicode.lisp: Get number of args right in call to
1361        STRING-ENCODED-LENGTH-IN-BYTES from
1362        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1363
13642007-06-01 08:28  gb
1365
1366        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1367        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1368        order.  Both functions are usually open-coded (and the inlined
1369        versions seem to be OK), but the ObjC bridge funcalls these
1370        functions when getting/setting foreign slots of the appropriate
1371        type.
1372
13732007-06-01 08:27  gb
1374
1375        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1376        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1377        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1378
13792007-06-01 08:26  gb
1380
1381        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1382        all of it" case in %CSTR-POINTER; deal with all other cases in
1383        %CSTR-SEGMENT-POINTER.
1384
13852007-06-01 08:25  gb
1386
1387        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1388        under return address, exception callback frame (xcf) on stack.
1389       
1390        handle-udf-call: don't try to fix up the stack if we try to
1391        continue; let kernel deal with this after the callback.
1392
13932007-06-01 08:24  gb
1394
1395        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1396        return address on the top of the stack when this is entered
1397        (#-of-arguments traps).  Put it in the right place when building
1398        the frame.
1399       
1400        create_exception_callback_frame: look for tra on top of lisp stack,
1401        not in register (usually.)
1402       
1403        handle_error(): if we return after calling out for int #xc7 (call
1404        to undefined function), fix up the stack and other registers so
1405        that we can return the value(s) returned by the lisp-side handler.
1406        (It's hard for the lisp-side handler to do the stack manipulation,
1407        because of the xcf on the stack and because of the need to deal
1408        with the return address on the stack.)
1409
14102007-06-01 08:23  gb
1411
1412        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1413        lea/jmp: push ra0 on stack before trap, for the benefit of
1414        create_exception_callback_frame().
1415
14162007-06-01 08:22  gb
1417
1418        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1419
14202007-06-01 08:22  gb
1421
1422        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1423        write a BOM here.
1424
14252007-06-01 08:21  gb
1426
1427        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1428        since the switch to the new tra scheme.
1429
14302007-06-01 08:19  gb
1431
1432        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1433        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1434
14352007-05-12 18:27  gb
1436
1437        * release-notes.txt: Update for 070512.
1438
14392007-05-12 18:27  gb
1440
1441        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1442
14432007-05-12 18:26  gb
1444
1445        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1446
14472007-05-12 18:25  gb
1448
1449        * level-1/version.lisp: Bump.
1450
14512007-05-12 18:24  gb
1452
1453        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1454        heap by more than what we need if GC is obviously disabled.
1455
14562007-05-12 18:23  gb
1457
1458        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1459        suppress overflow checking in some cases.
1460
14612007-05-12 18:22  gb
1462
1463        * compiler/X86/x862.lisp: Fix indentation.
1464
14652007-05-12 18:22  gb
1466
1467        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1468        beyond segment if GC (obviously) disabled.
1469
14702007-05-12 18:21  gb
1471
1472        * level-1/l1-streams.lisp: Fix typo.
1473
14742007-05-12 18:20  gb
1475
1476        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1477        separate character encode/decode limits.
1478
14792007-05-12 18:19  gb
1480
1481        * level-1/l1-unicode.lisp: Start to bootstrap separate
1482        encode/decode limits.
1483
14842007-05-12 18:18  gb
1485
1486        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1487        nonsense when referencing mxcsr in debug_show_fpu().
1488
14892007-05-12 18:17  gb
1490
1491        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1492        earlier.  Sheesh.
1493
14942007-05-12 18:17  gb
1495
1496        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1497
14982007-05-12 18:16  gb
1499
1500        * level-1/version.lisp: Bump, for now.
1501
15022007-05-12 18:15  gb
1503
1504        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1505        ABI version.
1506
15072007-05-12 18:14  gb
1508
1509        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1510        new TRA interpretation.
1511
15122007-05-12 18:13  gb
1513
1514        * lisp-kernel/x86-spjump64.s: nmkunwind.
1515
15162007-05-12 18:12  gb
1517
1518        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1519        nMake_Catch handles return addresses on stack.  repret, for use
1520        when a one-byte ret instruction is a branch target or is preceded
1521        by a conditional branch.
1522
15232007-05-12 18:11  gb
1524
1525        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1526        exception contexts.
1527
15282007-05-12 18:11  gb
1529
1530        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1531        exception context; new TRA handling.
1532
15332007-05-12 18:10  gb
1534
1535        * lisp-kernel/x86-exceptions.c: New tra handling.
1536        new_heap_segment: try to avoid requesting too much when user sets
1537        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1538        down to fault handler, don't call out to lisp on faults in foreign
1539        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1540
15412007-05-12 18:08  gb
1542
1543        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1544        assignments.
1545
15462007-05-12 18:07  gb
1547
1548        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1549        sequence.
1550
15512007-05-12 18:06  gb
1552
1553        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1554
15552007-05-12 18:05  gb
1556
1557        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1558        that're branch targets or that follow conditional branches.
1559
15602007-05-12 18:04  gb
1561
1562        * lisp-kernel/thread_manager.c: Conditionalize for
1563        USE_MACH_EXCEPTION_LOCK.
1564
15652007-05-12 18:03  gb
1566
1567        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1568
15692007-05-12 18:02  gb
1570
1571        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1572        explicit blr.
1573
15742007-05-12 18:01  gb
1575
1576        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1577         Gee, I hope that works.
1578
15792007-05-12 18:00  gb
1580
1581        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1582
15832007-05-12 17:59  gb
1584
1585        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1586        using the mechanism.
1587
15882007-05-12 17:59  gb
1589
1590        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1591        extend with (possibly very large) lisp_heap_gc_threshold, try
1592        smaller values.
1593       
1594        Pass "old_valence" to exception handlers; don't call out to lisp on
1595        memory faults from foreign code.
1596
15972007-05-12 17:58  gb
1598
1599        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1600
16012007-05-12 17:57  gb
1602
1603        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1604        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1605        be correct/necessary.
1606
16072007-05-12 17:56  gb
1608
1609        * lisp-kernel/lisp-debug.c: lisp register display changes for
1610        x86-64.  Get FPU display working on x86-64.
1611
16122007-05-12 17:55  gb
1613
1614        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1615        calling-sequence change.
1616
16172007-05-12 17:54  gb
1618
1619        * lisp-kernel/image.h: New ABI version.
1620
16212007-05-12 17:54  gb
1622
1623        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1624        could; if only I could ...
1625
16262007-05-12 17:53  gb
1627
1628        * lib/x8664env.lisp: More imm temps! (one more ...).
1629
16302007-05-12 17:52  gb
1631
1632        * lib/nfcomp.lisp: Bump current fasl version.
1633
16342007-05-12 17:51  gb
1635
1636        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1637        in cross-compiled code.
1638
16392007-05-12 17:50  gb
1640
1641        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1642        interface dir, because of cross-compilation issues.
1643
16442007-05-12 17:49  gb
1645
1646        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1647        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1648
16492007-05-12 17:49  gb
1650
1651        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1652        transition.
1653
16542007-05-12 17:48  gb
1655
1656        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1657
16582007-05-12 17:47  gb
1659
1660        * lib/encapsulate.lisp: Add a comment.
1661
16622007-05-12 17:46  gb
1663
1664        * library/hash-cons.lisp: Very small lap change.
1665
16662007-05-12 17:45  gb
1667
1668        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1669        %FIXNUM-SET-MACPTR elsewhere.
1670
16712007-05-12 17:44  gb
1672
1673        * level-1/linux-files.lisp: File-mapped vectors.
1674
16752007-05-12 17:43  gb
1676
1677        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1678        :new-version if pathname-version of filename is :NEWEST.
1679
16802007-05-12 17:43  gb
1681
1682        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1683        with a CONDITION object.
1684
16852007-05-12 17:42  gb
1686
1687        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1688
16892007-05-12 17:41  gb
1690
1691        * level-1/l1-pathnames.lisp: If there's no host component in a
1692        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1693
16942007-05-12 17:40  gb
1695
1696        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1697        listener stack sizes now static.
1698
16992007-05-12 17:39  gb
1700
1701        * level-1/l1-files.lisp: Pathname arcana.
1702
17032007-05-12 17:38  gb
1704
1705        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1706        SIGINT.
1707
17082007-05-12 17:38  gb
1709
1710        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1711        changes.
1712
17132007-05-12 17:37  gb
1714
1715        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1716       
1717        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1718
17192007-05-12 17:36  gb
1720
1721        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1722
17232007-05-12 17:35  gb
1724
1725        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1726        here.
1727
17282007-05-12 17:34  gb
1729
1730        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1731
17322007-05-12 17:33  gb
1733
1734        * level-0/X86/x86-utils.lisp: New calling sequence.
1735
17362007-05-12 17:32  gb
1737
1738        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1739        EQL.
1740
17412007-05-12 17:32  gb
1742
1743        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1744        be careful with %rcx (now %imm2) in shift instructions.
1745
17462007-05-12 17:30  gb
1747
1748        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1749        sequence.
1750
17512007-05-12 17:29  gb
1752
1753        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1754        new-calling-sequence changes.
1755
17562007-05-12 17:27  gb
1757
1758        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1759        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1760        %temp2, and no need to be so careful with it.
1761
17622007-05-12 17:26  gb
1763
1764        * compiler/vinsn.lisp: global label-valued temporaries.
1765
17662007-05-12 17:25  gb
1767
1768        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1769
17702007-05-12 17:24  gb
1771
1772        * compiler/nx0.lisp: Try to do a little type inference for more
1773        flavors of AREF.
1774
17752007-05-12 17:23  gb
1776
1777        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1778        afunc (or equivalent) as a non-nil second value.
1779
17802007-05-12 17:22  gb
1781
1782        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1783        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1784        less nasty.
1785
17862007-05-12 17:21  gb
1787
1788        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1789        calling sequence, new tra/talign scheme.
1790
17912007-05-12 17:21  gb
1792
1793        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1794        rip)).
1795
17962007-05-12 17:20  gb
1797
1798        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1799        rip-relative label refs.
1800
18012007-05-12 17:19  gb
1802
1803        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1804        support :talign directive in vinsn templates.
1805
18062007-05-12 17:18  gb
1807
1808        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1809        is a register ...
1810
18112007-05-12 17:17  gb
1812
1813        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1814        for most things, except calls to subprims that manipulate the
1815        stack.
1816
18172007-05-12 17:16  gb
1818
1819        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1820        cross-compilation with x86-64 targets a little easier, by using a
1821        cross-ftd interface directory.
1822
18232007-05-12 17:16  gb
1824
1825        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1826        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1827        scheme.
1828
18292007-05-12 17:15  gb
1830
1831        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1832        unwind-protect uses nmkunwind (more happens out-of-line.)
1833
18342007-05-12 17:14  gb
1835
1836        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1837
18382007-05-12 17:13  gb
1839
1840        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1841
18422007-05-12 17:12  gb
1843
1844        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1845
18462007-05-12 17:11  gb
1847
1848        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1849        %GET-KERNEL-GLOBAL-PTR actually work.
1850
18512007-05-07 19:10  gb
1852
1853        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1854        returns a CONS, signal the right flavor of TYPE-ERROR if it
1855        doesn't.
1856
18572007-05-05 18:10  gb
1858
1859        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1860        the hash table, it tries to enable the GC before doing so.
1861
18622007-05-04 22:10  gb
1863
1864        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1865        finds in the environment, not just non-nil.
1866
18672007-05-01 18:10  gb
1868
1869        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1870        computation for GC-VERBOSE entry.
1871
18722007-05-01 06:11  gb
1873
1874        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1875        utf-16 variants.
1876       
1877        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1878        function.
1879
18802007-05-01 06:10  gb
1881
1882        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1883        darwin ppc64 thread state structure, just like Apple does.  Can I
1884        blame them for getting this wrong, please ?
1885       
1886        Use the right argument names in ppc64 cmain callback; can't blame
1887        Apple.
1888
18892007-04-30 23:12  gb
1890
1891        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1892        on Darwin, and should probably be removed completely.  Now that
1893        it's explicitly extern, don't try to reference it at runtime on
1894        linuxppc.
1895
18962007-04-30 23:11  gb
1897
1898        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1899        referenced at runtime and explicitly extern, so make sure that it's
1900        initialized on all platforms.
1901
19022007-04-30 23:10  gb
1903
1904        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1905        oxymoron - is specific to Darwin.
1906
19072007-04-21 00:10  gb
1908
1909        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1910        directory after translating logical pathnames; it's generally
1911        meaningless to do PROBE-FILE on the directory component of a
1912        logical pathname.
1913
19142007-04-19 15:10  gb
1915
1916        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1917        if it conflicts with an immediate temporary (we'll need all the imm
1918        temps we have on x86-64.)
1919
19202007-04-17 20:10  gb
1921
1922        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1923        version of recent aset2/aset3 register-conflict changes.
1924
19252007-04-16 15:10  gb
1926
1927        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1928        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1929
19302007-04-16 14:11  gb
1931
1932        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1933        :signed-doublewod.
1934
19352007-04-16 13:10  gb
1936
1937        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1938        Memory-fault errors on PPC, too.
1939
19402007-04-16 04:34  gb
1941
1942        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1943        renaming nonsense.
1944
19452007-04-16 02:12  gb
1946
1947        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1948
19492007-04-16 02:11  gb
1950
1951        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1952
19532007-04-16 02:10  gb
1954
1955        * level-1/l1-error-system.lisp: Change wording of
1956        INVALID-MEMORY-ACCESS error message, a little.
1957
19582007-04-16 01:13  gb
1959
1960        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1961        memory faults.
1962
19632007-04-16 01:12  gb
1964
1965        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1966        now.
1967
19682007-04-16 01:11  gb
1969
1970        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1971        INVALID-MEMORY-ACCESS condition.
1972
19732007-04-16 01:10  gb
1974
1975        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1976
19772007-04-15 19:11  gb
1978
1979        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1980        aset2/aset3 changes.
1981
19822007-04-15 19:10  gb
1983
1984        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1985        it's an imm-reg; we need another imm-reg to do some index
1986        calculations.
1987
19882007-04-14 18:10  gb
1989
1990        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
1991        unscramble what it means for an interrupt to be pending on x86-64.
1992
19932007-04-14 00:13  gb
1994
1995        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
1996        generated when it is in ... unmentionable OS releases.
1997
19982007-04-14 00:11  gb
1999
2000        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2001        work around laughable Apple ld64 gibberish.
2002
20032007-04-12 02:11  gb
2004
2005        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2006        two-dimensional arrays: need to target specific registers if array
2007        has element type T.
2008
20092007-04-12 02:10  gb
2010
2011        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2012        appropriate, not :x86-64 twice.
2013
20142007-04-11 05:10  gb
2015
2016        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2017        for bivalent streams.
2018       
2019        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2020        maintain the element-type separately, just look in ioblock.
2021        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2022
20232007-04-10 22:10  gb
2024
2025        * lisp-kernel/x86-spentry64.s: Branch at
2026        C(egc_store_node_conditional_success_test) should bracnch
2027        backwards, not forwards.  (This was leading to spurious
2028        "<something> is not a proper list" errors, because the next label
2029        named "0" is in middle of the the _SPprogvsage code that tests for
2030        a proper list.)
2031
20322007-04-10 00:11  gb
2033
2034        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2035        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2036        RLET or equivalent to avoid making GCable pointers for ObjC
2037        dispatch function args; trust the compiler to do that for us.
2038
20392007-04-10 00:10  gb
2040
2041        * examples/bridge.lisp: If any method defined on a message passes a
2042        structure by value, install a compiler macro on the dispatch
2043        function.
2044       
2045        In that compiler, look for apparent calls to know structure
2046        constructors; replace those with calls to the corresponding
2047        initialization function, and stack-allocate a structure instance
2048        around the call.  (Suggested by Kevin Reid, and something that
2049        SEND/SLET did - sort of - that the new approach didn't.)
2050       
2051        Keep track of info about common foreign structs (initializer,
2052        constructor, etc.) to make doing stuff like this easier.
2053
20542007-04-09 16:10  gb
2055
2056        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2057        the result of sending the init message is a null pointer, return a
2058        null pointer.
2059
20602007-04-09 00:10  gb
2061
2062        * release-notes.txt: Update for 070408.
2063       
2064        (Yes, it's 070409 here already ...)
2065
20662007-04-08 15:12  gb
2067
2068        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2069
20702007-04-08 15:10  gb
2071
2072        * xdump/faslenv.lisp: Bump min fasl version.
2073
20742007-04-08 14:11  gb
2075
2076        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2077        jump table, to work around (still more) Apple ld64 nonsense.
2078
20792007-04-08 13:14  gb
2080
2081        * lib/nfcomp.lisp: Bump current fasl version.
2082
20832007-04-08 13:13  gb
2084
2085        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2086
20872007-04-08 13:12  gb
2088
2089        * xdump/faslenv.lisp: Bump max fasl version.
2090
20912007-04-08 13:11  gb
2092
2093        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2094        people who try to build this kernel on an x86 mac will take longer
2095        to realize that that's usually a bad idea.
2096
20972007-04-08 12:09  gb
2098
2099        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2100        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2101        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2102        cocoa-window.lisp, cocoa.lisp:
2103        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2104       
2105        Some changes in font, nsstring stuff to avoid using deprecated
2106        featurs.
2107
21082007-04-08 12:07  gb
2109
2110        * examples/: webkit.lisp, addressbook.lisp:
2111        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2112       
2113        Use OBJC:LOAD-FRAMEWORK.
2114
21152007-04-08 12:06  gb
2116
2117        * examples/tiny.lisp:
2118        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2119
21202007-04-08 12:05  gb
2121
2122        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2123        rubix.lisp:
2124        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2125       
2126        Handle CGFLOAT issues in mouse event handlers.
2127
21282007-04-08 12:04  gb
2129
2130        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2131       
2132        Define "foreign struct classes" for several common structure types
2133        (rectangle, point, size); generate inlined accessors for their
2134        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2135        macros.
2136       
2137        #/ reader macro: reads a string containing "constituent" characters
2138        (including #\:), preserving case.  Does a little bit of
2139        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2140        package.
2141       
2142        Try to deal with cases where foreign type info may be parsed or
2143        unparsed.
2144       
2145        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2146         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2147        message info, tries to determine ambiguity, calls signature
2148        function (possibly after trying to resolve ambiguity.)
2149       
2150        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2151        calling a signature function that knows how to dispatch to SUPER
2152        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2153       
2154        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2155        OBJC-DISPATCH-FUNCTION.
2156       
2157        Handle PROTOCOLs differently in ambiguous SEND.
2158
21592007-04-08 12:04  gb
2160
2161        * examples/objc-runtime.lisp: Compile message send functions per
2162        signature.  Handle vararg message sends, partly at runtime.  INIT
2163        messages just have their signature info precomputed.  Defining a
2164        named OBJC-CLASS makes the class name a static variable whose value
2165        is the class (and likewise for the metaclass.)
2166        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2167        OBJC:DEFMETHOD and support for it.
2168
21692007-04-08 12:03  gb
2170
2171        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2172         Avoid some deprecated C-string stuff (but wimp out and assume
2173        ASCII.) Keep track of objc-class-count, provide
2174        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2175        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2176        etc. elsewhere.
2177
21782007-04-08 12:02  gb
2179
2180        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2181        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2182        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2183        about as lightweight as MAKE-OBJC-INSTANCE.)
2184
21852007-04-08 12:01  gb
2186
2187        * examples/name-translation.lisp:
2188        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2189        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2190
21912007-04-08 12:00  gb
2192
2193        * examples/objc-package.lisp: New file; export more stuff.  Import
2194        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2195        pseudo-GFs.
2196
21972007-04-08 11:59  gb
2198
2199        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2200        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2201        Intern integer types up to 64 bits.
2202
22032007-04-08 11:59  gb
2204
2205        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2206        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2207        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2208        COPY-RECORD.
2209
22102007-04-08 11:58  gb
2211
2212        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2213        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2214        missing brackets.
2215
22162007-04-08 11:57  gb
2217
2218        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2219        not Darwin.  In Darwin, evactuate off of the lisp stack while
2220        interrupts are still disabled.
2221
22222007-04-08 11:56  gb
2223
2224        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2225        (where Apple hasn't yet invented the notion that it needs to be
2226        thread-specific.)
2227
22282007-04-08 11:55  gb
2229
2230        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2231        destroying TCR.
2232
22332007-04-08 11:54  gb
2234
2235        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2236        worked around an old Darwin bug.
2237
22382007-04-08 11:53  gb
2239
2240        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2241
22422007-04-08 11:52  gb
2243
2244        * lisp-kernel/image.c: Don't nuke null pointers.
2245
22462007-04-08 11:52  gb
2247
2248        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2249
22502007-04-08 11:51  gb
2251
2252        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2253        of macptr.domain, macptr.type.
2254
22552007-04-08 11:50  gb
2256
2257        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2258
22592007-04-08 11:49  gb
2260
2261        * library/lispequ.lisp: add pkg.intern-hook to package.
2262
22632007-04-08 11:48  gb
2264
2265        * lib/describe.lisp: Start trying to conditionalize some of the
2266        stack-frame inspector stuff.
2267
22682007-04-08 11:48  gb
2269
2270        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2271        64-bit word components, with FP fields passed in registers.  This
2272        requires some special handling ("hybrid" parameters) in the
2273        compiler and %FF-CALL.
2274
22752007-04-08 11:47  gb
2276
2277        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2278        endianness.
2279
22802007-04-08 11:46  gb
2281
2282        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2283
22842007-04-08 11:45  gb
2285
2286        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2287        in %SOURCE-FILES-LIKE-EM.
2288
22892007-04-08 11:44  gb
2290
2291        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2292
22932007-04-08 11:43  gb
2294
2295        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2296        MAKE-XREF-ENTRY.
2297
22982007-04-08 11:43  gb
2299
2300        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2301
23022007-04-08 11:42  gb
2303
2304        * level-1/version.lisp: Bump; new snapshots tomorrow.
2305
23062007-04-08 11:41  gb
2307
2308        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2309
23102007-04-08 11:40  gb
2311
2312        * level-1/linux-files.lisp: Very long timeout for
2313        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2314        if we have to wait at all.
2315       
2316        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2317       
2318        Make PIPE code slightly easier to read.
2319
23202007-04-08 11:39  gb
2321
2322        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2323
23242007-04-08 11:38  gb
2325
2326        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2327        CHARACTER-ENCODING, use it to determine number/sequence of octets
2328        used to encode NUL.
2329
23302007-04-08 11:38  gb
2331
2332        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2333       
2334        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2335        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2336        so that echoing looks more natural.
2337
23382007-04-08 11:37  gb
2339
2340        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2341        object.
2342
23432007-04-08 11:36  gb
2344
2345        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2346        changes manually and most of the effects were cosmetic.
2347        TOPLEVEL-PRINT takes an output stream arg.
2348
23492007-04-08 11:35  gb
2350
2351        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2352
23532007-04-08 11:34  gb
2354
2355        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2356        interrupt is obviously pending.
2357
23582007-04-08 11:33  gb
2359
2360        * level-1/l1-io.lisp: Change pointer printing.
2361
23622007-04-08 11:33  gb
2363
2364        * level-1/l1-init.lisp: +NULL-PTR+.
2365
23662007-04-08 11:31  gb
2367
2368        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2369        preferred name for DEFGLOBAL.
2370
23712007-04-08 11:30  gb
2372
2373        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2374        for DEFGLOBAL.
2375       
2376        Mechanism for associating a (built-in) class with a foreign type
2377        ordinal.
2378
23792007-04-08 11:29  gb
2380
2381        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2382        for DEFGLOBAL.
2383       
2384        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2385        likely the global value of some symbol.)
2386
23872007-04-08 11:28  gb
2388
2389        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2390        DEFGLOBAL.
2391       
2392        Standard CL streams now bound per-thread.
2393       
2394        Install standard foreign types here, not every time that
2395        FOREIGN-TYPES is loaded.
2396       
2397        Canonicalize foreign type ordinals as soon as we can.  (This is
2398        part of a scheme to give foreign types "ordinals' that can be used
2399        to assert pointer types; we need some of those ordinal numbers to
2400        be pre-assigned, since we can't reference foreign types early in
2401        the cold load.)
2402
24032007-04-08 11:27  gb
2404
2405        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2406        DEFGLOBAL.  GCABLE-PTR-P.
2407
24082007-04-07 21:25  gb
2409
2410        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2411         Handle maintenance of auto-export packages differently.
2412        $fasl-timm just needs an :int, not a :long.
2413
24142007-04-07 21:24  gb
2415
2416        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2417        "functional", not random symbol guts.
2418
24192007-04-07 21:23  gb
2420
2421        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2422        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2423        interrupts are re-enabled.
2424
24252007-04-07 21:22  gb
2426
2427        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2428
24292007-04-07 21:20  gb
2430
2431        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2432        %PTR-STORE-FIXNUM-CONDITIONAL.
2433
24342007-04-07 21:19  gb
2435
2436        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2437        in DarwinPPC64 #'%FF-CALL.
2438
24392007-04-07 21:19  gb
2440
2441        * compiler/optimizers.lisp: When trying to infer result type of
2442        MAKE-ARRAY call, unquote quoted type specifier.
2443       
2444        Strength-reduce FLOAT when second argument is of known type.
2445
24462007-04-07 21:18  gb
2447
2448        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2449
24502007-04-07 21:17  gb
2451
2452        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2453        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2454        Parse %short-float, %double-float when no "result" arg; can at
2455        least try to constant-fold late and/or do some cases if we have
2456        more type info.
2457
24582007-04-07 21:16  gb
2459
2460        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2461        be bound" error message.
2462
24632007-04-07 21:15  gb
2464
2465        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2466        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2467
24682007-04-07 21:14  gb
2469
2470        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2471        remaning GPR/FPR counts even if arg is "simple" and passes straight
2472        through to %FF-CALL.
2473
24742007-04-07 21:13  gb
2475
2476        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2477        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2478        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2479        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2480        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2481
24822007-04-07 21:12  gb
2483
2484        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2485        for Darwin structure-passing ABI.
2486
24872007-04-07 21:10  gb
2488
2489        * OpenMCL.app/Contents/Resources/English.lproj/:
2490        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2491        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2492        OpenmclInspector.nib/keyedobjects.nib,
2493        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2494        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2495        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2496        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2497        representation, not binary.
2498
24992007-04-06 22:10  gb
2500
2501        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2502        (RLIMIT_AS) current resource limit to max limit, since some distros
2503        limit it.
2504
25052007-04-03 03:11  gb
2506
2507        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2508        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2509
25102007-04-02 22:10  gb
2511
2512        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2513        arg in utf-16 encode, missing #x in little-endian bom-marker
2514        definition.)
2515
25162007-03-14 23:10  gb
2517
2518        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2519
25202007-03-14 05:11  gb
2521
2522        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2523        generate-callback-bindings.
2524
25252007-03-13 06:10  gb
2526
2527        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2528
25292007-03-13 03:58  gb
2530
2531        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2532
25332007-03-12 05:11  gb
2534
2535        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2536        little.
2537
25382007-03-12 05:10  gb
2539
2540        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2541        %EXTERNAL-CALL-EXPANDER.
2542
25432007-03-12 05:09  gb
2544
2545        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2546        encapsulation, and a lock.
2547
25482007-03-12 05:08  gb
2549
2550        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2551        thread-local.
2552
25532007-03-12 02:25  gb
2554
2555        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2556        deal with variations in Mach behavior: "exception" may be
2557        EXC_BAD_ACCESS when an illegal instruction causes a "general
2558        protection fault".
2559
25602007-03-09 15:56  gb
2561
2562        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2563        NIL ...)
2564
25652007-03-09 00:01  gb
2566
2567        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2568
25692007-03-09 00:00  gb
2570
2571        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2572        *OPEN-FILE-STREAMS*.
2573
25742007-03-09 00:00  gb
2575
2576        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2577        open-file-streams.
2578
25792007-03-08 23:59  gb
2580
2581        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2582        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2583
25842007-03-08 23:58  gb
2585
2586        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2587        associated with it.
2588
25892007-03-08 23:57  gb
2590
2591        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2592
25932007-03-08 23:47  gb
2594
2595        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2596        hash-table, it fills the hash-table vector with "free" markers.
2597        (There may already be lots of "deleted" markers in the table.)
2598
25992007-03-08 22:26  gb
2600
2601        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2602
26032007-03-08 22:24  gb
2604
2605        * lib/numbers.lisp: printing random-state: don't shift seeds.
2606
26072007-03-08 22:24  gb
2608
2609        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2610
26112007-03-08 22:24  gb
2612
2613        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2614
26152007-03-08 22:23  gb
2616
2617        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2618
26192007-03-08 22:23  gb
2620
2621        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2622        %next-random-pair.
2623
26242007-03-08 22:22  gb
2625
2626        * level-0/l0-numbers.lisp: And, while we're at it: do the
2627        next-random-seed permutation in %next-random-pair, which accepts
2628        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2629        in lisp on 64-bit platforms.
2630
26312007-03-08 22:20  gb
2632
2633        * level-0/l0-numbers.lisp: Don't shift random seeds.
2634
26352007-03-08 03:30  gb
2636
2637        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2638        rather than >= #x80, because of the new way that
2639        uuo-error-slot-unbound is encoded.
2640
26412007-03-08 03:28  gb
2642
2643        * compiler/X86/x86-disassemble.lisp: Recognize
2644        uuo-error-slot-unbound.
2645
26462007-03-08 03:28  gb
2647
2648        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2649        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2650
26512007-03-07 08:29  gb
2652
2653        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2654
26552007-03-07 07:45  gb
2656
2657        * level-1/linux-files.lisp: For #+linux-target, try to use
2658        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2659        if that fails.  (CPU-COUNT is called early in the cold load, before
2660        we can make the file-stream necessary to do the parsing.)
2661
26622007-03-07 07:33  gb
2663
2664        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2665        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2666
26672007-03-07 07:25  gb
2668
2669        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2670        el-bizarro syscall mask, pass the magic number 0x1e as a second
2671        arg, just in case.
2672
26732007-03-07 07:24  gb
2674
2675        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2676        before accessing *OPEN-FILE-STREAMS*.
2677
26782007-03-07 07:23  gb
2679
2680        * level-1/l1-readloop.lisp: Add comment about
2681        *OPEN-FILE-STREAMS-LOCK*.
2682
26832007-03-07 07:23  gb
2684
2685        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2686
26872007-03-07 07:21  gb
2688
2689        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2690        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2691
26922007-03-07 07:05  gb
2693
2694        * xdump/heap-image.lisp: Bump current image version.
2695
26962007-03-07 07:02  gb
2697
2698        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2699        "calls" want an argument in ecx.  Set that arg to 0 for now.
2700
27012007-03-07 07:01  gb
2702
2703        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2704        "real" locks; those updates can be simplified.
2705       
2706        lock_recursive_lock: no (ignored) timeout arg.
2707
27082007-03-07 06:59  gb
2709
2710        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2711        support the old one.
2712
27132007-03-07 06:59  gb
2714
2715        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2716        prototype.  Change declaration of LOCK macro: no null timespec
2717        required.  RECURSIVE_LOCKs have spinlock fields.
2718
27192007-03-07 06:56  gb
2720
2721        * level-1/version.lisp: bump, indicate work-in-progress development
2722        version.
2723
27242007-03-07 06:56  gb
2725
2726        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2727        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2728        rather than something lower-level.
2729
27302007-03-07 06:53  gb
2731
2732        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2733        to obtain them before yielding.
2734
27352007-03-07 06:52  gb
2736
2737        * level-0/l0-io.lisp: Move YIELD elsewhere.
2738
27392007-03-07 06:51  gb
2740
2741        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2742        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2743        layout.
2744
27452007-03-02 05:10  gb
2746
2747        * level-1/l1-application.lisp: Toplevel function: initial-listener
2748        class is 'TTY-LISTENER.
2749
27502007-03-02 05:09  gb
2751
2752        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2753        message.
2754
27552007-03-02 05:09  gb
2756
2757        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2758       
2759        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2760        For TTY-LISTENER, call QUIT.
2761
27622007-03-02 05:08  gb
2763
2764        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2765        EXIT-INTERACTIVE-PROCESS instead.
2766       
2767        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2768
27692007-03-02 05:06  gb
2770
2771        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2772
27732007-03-02 05:06  gb
2774
2775        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2776        of null pointers into body.
2777
27782007-03-02 05:05  gb
2779
2780        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2781        consus-interruptus.
2782
27832007-03-02 05:05  gb
2784
2785        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2786        <constant> if constant is of type <type>.)
2787       
2788        Do we need an ignore-errors here ? Or does <type> need to be
2789        defined ?
2790
27912007-03-02 05:03  gb
2792
2793        * compiler/X86/x862.lisp: Do the / * thing.
2794
27952007-03-02 05:02  gb
2796
2797        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2798        :call attribute.
2799
28002007-03-01 04:04  gb
2801
2802        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2803        new binding frame
2804
28052007-02-28 07:04  gb
2806
2807        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2808        rather than %rbp; trust callback_for_interrupt() to preserve it.
2809
28102007-02-28 07:03  gb
2811
2812        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2813        callback_for_interrupt().
2814
28152007-02-28 05:18  gb
2816
2817        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2818        counts) that may wind up on the vstack.
2819       
2820        Since those tiny things might be tagged as headers, walk the vstack
2821        with new "headerless" functions that ignore headers.
2822
28232007-02-28 05:16  gb
2824
2825        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2826        before the alloc trap and interrupting, back out of the
2827        modification to save_allocptr (and allocptr register) and set
2828        *interrupt_displacement.
2829
28302007-02-23 10:13  gb
2831
2832        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2833        only makes sense for cases where we have to guess; a bitfield
2834        that's 8 bits wide still has an alignment of 1.
2835       
2836        Factor in the alignment of the containing int when bitfields are
2837        involved.
2838       
2839        When parsing a record type, set the "bits" slot of each field.
2840        (Not too many things look at that slot, but we want the effect of
2841        loading a record from the database to match the effect of parsing a
2842        definition as exactly as possible, and to be able to use EQUALP to
2843        compare the results.)
2844
28452007-02-23 10:06  gb
2846
2847        * lib/db-io.lisp: Some extra fields in
2848        objc-message-info/objc-method-info structures.
2849       
2850        When calculating overall alignment of a structure, treat bitfields
2851        as if they were :unsigned-int (since there's a "containing"
2852        unsigned int that affects alignment.  N.B: this should be imposed
2853        for anything that has an alignment of 1, not just a size of 1.)
2854       
2855        When loading integer types, try to use the precomputed types rather
2856        than consing a new one.  This (a) reduces consing a little (b) is
2857        more likely to get the alignment correct.  For (b), we really need
2858        to distinguish between bitfields and addressable integers.
2859
28602007-02-23 09:30  gb
2861
2862        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2863
28642007-02-22 02:33  gb
2865
2866        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2867
28682007-02-22 02:28  gb
2869
2870        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2871        heap size right ...).
2872
28732007-02-22 02:27  gb
2874
2875        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2876        traditional (sysv) style of hash maps, if it understands that
2877        option.
2878
28792007-02-21 06:01  gb
2880
2881        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2882        has been consed since last GC.  (There are some fenceposts there.)
2883       
2884        verbose GC herald tries to indicate how much is allocated in the
2885        area being GCed.
2886
28872007-02-21 05:58  gb
2888
2889        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2890        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2891
28922007-02-21 05:57  gb
2893
2894        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2895        uuo-gc-trap.
2896
28972007-02-19 04:50  gb
2898
2899        * lib/foreign-types.lisp: Use keywords more consistently.
2900       
2901        (Note: there seems to be a bug which is keeping the cdb data
2902        structures from getting defined correctly at load time; the
2903        workaround is to compile foreign-types.lisp - which defines them -
2904        in the same session as and before db-io - which uses them - is
2905        compiled.)
2906
29072007-02-19 04:48  gb
2908
2909        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2910        error.
2911
29122007-02-19 04:42  gb
2913
2914        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2915        the error function.
2916
29172007-02-19 04:40  gb
2918
2919        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2920        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2921
29222007-02-19 04:40  gb
2923
2924        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2925        FUNCALLABLE-STANDARD-OBJECT.
2926       
2927        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2928        creating a GF.
2929
29302007-02-19 04:36  gb
2931
2932        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2933        funcallable-stanard-objects better.
2934
29352007-02-19 04:34  gb
2936
2937        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2938        CCL, OPENMCL-MOP.
2939
29402007-02-19 02:09  gb
2941
2942        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2943        FUNCALLABLE-STANDARD-CLASS.
2944
29452007-02-19 02:07  gb
2946
2947        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2948        error message.
2949
29502007-02-15 02:46  gb
2951
2952        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2953        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2954
29552007-02-15 02:45  gb
2956
2957        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2958        methods yet.
2959
29602007-02-14 02:39  gb
2961
2962        * release-notes.txt: Fix a typo.
2963
29642007-02-14 02:35  gb
2965
2966        * release-notes.txt: Update for 070214 snapshots.
2967
29682007-02-13 23:36  gb
2969
2970        * level-1/version.lisp: Bump.
2971
29722007-02-13 23:36  gb
2973
2974        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2975        image-abi-version.
2976
29772007-02-13 23:29  gb
2978
2979        * xdump/faslenv.lisp: Finish bumping fasl version.
2980
29812007-02-13 23:15  gb
2982
2983        * lib/nfcomp.lisp: Bump current fasl version.
2984
29852007-02-13 23:02  gb
2986
2987        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2988
29892007-02-13 22:45  gb
2990
2991        * xdump/faslenv.lisp: Start bumping fasl-version.
2992
29932007-02-13 22:41  gb
2994
2995        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
2996        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
2997
29982007-02-13 21:16  gb
2999
3000        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3001        that contain incompatible definitions of some math library stuff
3002        ("log" either has to do with logarithms or logging ...).
3003
30042007-02-13 18:42  gb
3005
3006        * lib/misc.lisp: Change the way that TIME is reported by default:
3007        mention the number of available CPU cores, don't assume that
3008        there's that much of a relationship between CPU time and wall-clock
3009        time.
3010
30112007-02-13 18:41  gb
3012
3013        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3014        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3015        when :execute, too.
3016
30172007-02-13 18:35  gb
3018
3019        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3020        offset arg is required.
3021
30222007-02-13 18:12  gb
3023
3024        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3025        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3026
30272007-02-13 18:10  gb
3028
3029        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3030        cons.)
3031
30322007-02-13 18:10  gb
3033
3034        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3035        are more/other float-size issues deeper down in the code.
3036
30372007-02-13 18:09  gb
3038
3039        * examples/objc-support.lisp: Fixup the x86-64 error-return
3040        callback trampiline code (was missing a byte of machine code.)
3041
30422007-02-13 18:08  gb
3043
3044        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3045        jmp-buf to safe/sane values.
3046
30472007-02-13 18:07  gb
3048
3049        * examples/cocoa-window.lisp: Don't change-class
3050        *cocoa-event-process* until we start to run the event loop.
3051       
3052        Don't do _deallocHardCore: explicitly.
3053
30542007-02-13 17:35  gb
3055
3056        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3057        DOUBLE-FLOAT aliases just one gpr.
3058
30592007-02-13 17:34  gb
3060
3061        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3062
30632007-02-13 17:34  gb
3064
3065        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3066        32-bit ints, not "long".
3067
30682007-02-13 17:33  gb
3069
3070        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3071        for each scalar, not each arg.
3072       
3073        Fix some backquoting/indentation.
3074
30752007-02-13 17:31  gb
3076
3077        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3078
30792007-02-12 16:23  gb
3080
3081        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3082
30832007-02-11 20:22  gb
3084
3085        * examples/bridge.lisp: method-typestring needs to be
3086        conditionalized.  How has this been working ?
3087
30882007-02-11 20:22  gb
3089
3090        * examples/cocoa-editor.lisp: remove some debugging code.
3091
30922007-02-11 20:21  gb
3093
3094        * examples/objc-runtime.lisp: %mlist-containing is
3095        #-apple-objc-2.0.
3096
30972007-02-11 20:21  gb
3098
3099        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3100
31012007-02-11 05:35  gb
3102
3103        * level-1/version.lisp: Bump.
3104
31052007-02-11 05:28  gb
3106
3107        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3108        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3109        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3110        an optional argument; default to the Tiger SDK.
3111
31122007-02-11 05:26  gb
3113
3114        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3115        an errror.
3116
31172007-02-11 05:26  gb
3118
3119        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3120        Leopard renaming.  Suffer.
3121
31222007-02-11 05:25  gb
3123
3124        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3125        an existing process (so that the listener process appears to be
3126        "persistent".)
3127
31282007-02-11 05:24  gb
3129
3130        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3131        make the initial-listener object persistent acrosss
3132        SAVE-APPLICATION.
3133
31342007-02-11 00:01  gb
3135
3136        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3137       
3138        Handle callback-error-returns on x86-64.
3139
31402007-02-11 00:00  gb
3141
3142        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3143        use %ptr<, to hide word-size differences.
3144       
3145        __NSConstantStringClassReference isn't what it used to be, so look
3146        up NSConstantStringClass the hard way.
3147       
3148        Handle ns-exception/lisp-error stuff on x86-64.
3149       
3150        Do arg/result coercions differently.  Does any code depend on
3151        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3152        MACPTRs).
3153       
3154        Use the new FFI interface for message-sends, callbacks to try to
3155        hide platform-specific ABI issues.
3156       
3157        The _deallocate-hook mechanism - which never really worked -
3158        probably can't work on Objc-2.0.
3159
31602007-02-10 23:54  gb
3161
3162        * examples/bridge.lisp: Make structure return-type explicit in
3163        objc-message-send calls in send/stret and variants.
3164
31652007-02-10 22:34  gb
3166
3167        * examples/cocoa-window.lisp: Some indentation changes and slight
3168        reorganization of the code; shouldn't be any functional/semantic
3169        changes.
3170
31712007-02-10 22:30  gb
3172
3173        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3174        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3175        appropriate; other changes for 64-bit platforms, Objc-2.0.
3176
31772007-02-10 22:28  gb
3178
3179        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3180        CG-FLOATs when appropriate.
3181
31822007-02-10 22:28  gb
3183
3184        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3185
31862007-02-10 22:28  gb
3187
3188        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3189
31902007-02-10 22:27  gb
3191
3192        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3193        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3194        ignore-errors when trying to parse the last arglist form as a
3195        foreign type.
3196
31972007-02-10 22:26  gb
3198
3199        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3200        expansion ...
3201
32022007-02-10 22:26  gb
3203
3204        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3205        use %rdx and %r11 to hold target address.
3206
32072007-02-10 22:23  gb
3208
3209        * library/pty.lisp: Unicode stuff when accessing control char
3210        array; conditionalize for #+darwin-target, not just
3211        #+darwinppc-target.
3212
32132007-02-10 22:22  gb
3214
3215        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3216        ppc-specific; the comment dated from the days of 68K MCL.)
3217
32182007-02-10 22:21  gb
3219
3220        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3221        return 32 bits at a time, to avoid consing little bignums.
3222
32232007-02-10 22:15  gb
3224
3225        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3226
32272007-02-10 22:15  gb
3228
3229        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3230        count, not total byte count.
3231       
3232        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3233        the PPC case, as well.)
3234
32352007-02-10 22:11  gb
3236
3237        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3238        "zero-extend-s8" vinsn, but there does need to be a
3239        "zero-extend-u8".
3240
32412007-02-10 05:38  gb
3242
3243        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3244        #'VALUES.
3245
32462007-02-10 05:38  gb
3247
3248        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3249        ARGLIST can say -something- about lap functions that don't take a
3250        fixed number of arguments.
3251
32522007-02-07 02:54  gb
3253
3254        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3255        "e".
3256
32572007-02-02 02:32  gb
3258
3259        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3260        objc-support.lisp: Start to integrate with FFI changes.  No more
3261        %SEND, process and precompile "init" messages when interfaces are
3262        accessed.  (Note: should try to handle varargs init messages, even
3263        if we have to call %FF-CALL at runtime.)
3264
32652007-02-02 02:31  gb
3266
3267        * examples/: addressbook.lisp, webkit.lisp: Change the
3268        initialization code a bit.
3269
32702007-02-02 02:27  gb
3271
3272        * lib/foreign-types.lisp: Try to fix another case involving
3273        "auxiliary types".
3274       
3275        I think that the concept of auxiliary types might make sense in a
3276        context like:
3277       
3278        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3279        (:struct :bar (:x :int) (:y :int)))))
3280       
3281        In that case, :struct :bar is local to the definition.  In the
3282        similar case:
3283       
3284        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3285        (:struct :bar))))
3286       
3287        :BAR is presumably defined (globally) elsewhere.
3288
32892007-02-02 02:17  gb
3290
3291        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3292         (Setting "SDK=" will hopefully work with older version of xcode.)
3293
32942007-02-02 02:15  gb
3295
3296        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3297
32982007-01-31 23:26  gb
3299
3300        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3301        argument in ppc2-poweropen-foreign-args.
3302
33032007-01-31 22:47  gb
3304
3305        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3306        components from registers.
3307
33082007-01-31 22:45  gb
3309
3310        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3311        brackets are returned verbatim, not downcased.
3312
33132007-01-31 22:44  gb
3314
3315        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3316        accepts :registers.
3317
33182007-01-31 16:36  gb
3319
3320        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3321        New (and, so far, useless) files.
3322
33232007-01-31 16:35  gb
3324
3325        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3326        seems to be 32-bit only.
3327
33282007-01-31 16:34  gb
3329
3330        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3331
33322007-01-31 16:34  gb
3333
3334        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3335
33362007-01-31 16:33  gb
3337
3338        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3339        missing cdb file: dog bytes man; missing parent directory is more
3340        newsworthy.
3341
33422007-01-31 15:38  gb
3343
3344        * library/chud-metering.lisp: Tweak a little, so that it might work
3345        on darwinppc64 (and on darwinx8664 when purify does something
3346        there.)
3347
33482007-01-31 15:06  gb
3349
3350        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3351
33522007-01-31 02:49  gb
3353
3354        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3355
33562007-01-30 22:53  gb
3357
3358        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3359        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3360        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3361        gl/.cvsignore: new files.
3362
33632007-01-30 22:21  gb
3364
3365        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3366        new files.
3367
33682007-01-30 21:58  gb
3369
3370        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3371
33722007-01-30 21:58  gb
3373
3374        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3375        file
3376
33772007-01-30 21:49  gb
3378
3379        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3380        fun!
3381
33822007-01-30 21:40  gb
3383
3384        * library/openmcl-gtk-support.lisp: Conditionalize out the
3385        event-polling task.
3386
33872007-01-30 21:36  gb
3388
3389        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3390        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3391        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3392
33932007-01-30 21:35  gb
3394
3395        * headers/gl/C/populate.sh: process glu.h
3396
33972007-01-30 17:47  gb
3398
3399        * library/parse-ffi.lisp: Always encode explicit structure-typed
3400        function return values.
3401       
3402        Note when we see one, for now.
3403
34042007-01-30 17:45  gb
3405
3406        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3407        leading argument to be paired with a structure-typed return-type.
3408
34092007-01-30 17:43  gb
3410
3411        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3412        the first-arg hack.
3413
34142007-01-30 17:42  gb
3415
3416        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3417        support the old version.
3418       
3419        Don't check the :struct-by-value flag when encoding function
3420        args/results.  (That decision's made above our pay grade now.)
3421       
3422        When reading a :struct/:union definition, try to update an existing
3423        defintion rather than consing up a new one (this matters if the
3424        record is anonymous.)
3425
34262007-01-30 17:39  gb
3427
3428        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3429        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3430        correctly.
3431       
3432        Fix c_socket for #+linuxppc.
3433
34342007-01-30 08:20  gb
3435
3436        * level-1/version.lisp: Bump.
3437
34382007-01-30 08:20  gb
3439
3440        * lib/compile-ccl.lisp: Use make -j to build kernel.
3441
34422007-01-30 07:02  gb
3443
3444        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3445        xmm0/xmm1.
3446
34472007-01-30 07:01  gb
3448
3449        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3450        day's work turned into 2 weeks, somehow.)
3451
34522007-01-30 07:00  gb
3453
3454        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3455        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3456        stuff for x8664 (all platfroms appear to use the same ABI.)
3457
34582007-01-30 03:26  gb
3459
3460        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3461        displacement in %ATOMIC-INCF-NODE.
3462
34632007-01-29 07:27  gb
3464
3465        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3466
34672007-01-29 07:27  gb
3468
3469        * lib/ffi-darwinppc64.lisp: new callback stuff.
3470
34712007-01-29 07:27  gb
3472
3473        * lib/ffi-darwinppc32.lisp: typos-r-us.
3474
34752007-01-29 04:37  gb
3476
3477        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3478
34792007-01-29 04:37  gb
3480
3481        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3482
34832007-01-29 04:36  gb
3484
3485        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3486
34872007-01-29 04:36  gb
3488
3489        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3490
34912007-01-29 04:36  gb
3492
3493        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3494        stuff here.
3495
34962007-01-29 02:33  gb
3497
3498        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3499
35002007-01-28 21:47  gb
3501
3502        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3503        a bit more, change the API, get things working ... still a moving
3504        target.
3505
35062007-01-28 21:46  gb
3507
3508        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3509        (Other platforms still need more bootstrapping.)
3510
35112007-01-28 21:44  gb
3512
3513        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3514        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3515
35162007-01-28 03:21  gb
3517
3518        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3519        dynamic-extent, other decls separately.
3520
35212007-01-28 03:20  gb
3522
3523        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3524        use the new (ftd-based) scheme.
3525
35262007-01-28 01:43  gb
3527
3528        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3529        code's getting replaced, but fix 'em anyway.)
3530
35312007-01-28 01:42  gb
3532
3533        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3534        translated pathname and mention the fact that this might indicate a
3535        problem with "ccl:"'s logical translations.
3536
35372007-01-25 04:37  gb
3538
3539        * lib/foreign-types.lisp: Never fully understood the concept
3540        "auxiliary" foreign types, but try to canonicalize intermediate
3541        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3542        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3543        likely to return T (e.g., something registered in the FTD.
3544       
3545        It seems clear that this is the right thing when the structure
3546        reference is in global scope; I'm not sure what it'd mean for that
3547        not to be the case.
3548
35492007-01-25 04:32  gb
3550
3551        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3552        callback.
3553
35542007-01-24 23:41  gb
3555
3556        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3557        may not even compile.
3558
35592007-01-24 02:39  gb
3560
3561        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3562        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3563        for new FTD functions.
3564
35652007-01-24 02:28  gb
3566
3567        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3568        defstruct.
3569
35702007-01-23 15:28  gb
3571
3572        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3573        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3574        Return FPRs in the same place.  (Will need to re-work all of this
3575        for platform-dependent structure stuff.)
3576
35772007-01-23 15:26  gb
3578
3579        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3580        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3581        the lisp side.)
3582
35832007-01-23 15:21  gb
3584
3585        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3586        c_reg_save for saved fp args (f1-f13).
3587
35882007-01-23 15:14  gb
3589
3590        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3591        ftd hook.
3592
35932007-01-23 07:19  gb
3594
3595        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3596        (CLASS-OF non-simple-string).
3597
35982007-01-23 07:02  gb
3599
3600        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3601        array case, needed new string definition.
3602
36032007-01-23 07:01  gb
3604
3605        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3606        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3607        compiler/X86/X8664/x8664-backend.
3608
36092007-01-23 06:59  gb
3610
3611        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3612        stuff here.
3613
36142007-01-21 08:32  gb
3615
3616        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3617        "-returning-").
3618       
3619        Typecheck the :registers arg.
3620
36212007-01-21 08:32  gb
3622
3623        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3624
36252007-01-21 08:31  gb
3626
3627        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3628        stack-block.
3629
36302007-01-21 08:31  gb
3631
3632        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3633        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3634        instead.
3635
36362007-01-21 06:46  gb
3637
3638        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3639        space for 13 float registers, not 31.
3640
36412007-01-21 06:45  gb
3642
3643        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3644        x86-64.
3645
36462007-01-21 06:38  gb
3647
3648        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3649        register return without typos.
3650
36512007-01-21 06:15  gb
3652
3653        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3654        register return.
3655
36562007-01-21 06:14  gb
3657
3658        * compiler/nx1.lisp: Don't assume that passing a structure by value
3659        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3660        platform that doesn't support the convention.)
3661
36622007-01-21 06:12  gb
3663
3664        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3665        replaces .SPunused-4.
3666
36672007-01-21 06:10  gb
3668
3669        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3670        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3671        (replaces .SPunused_4).
3672
36732007-01-21 00:05  gb
3674
3675        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3676        argument/result coercion functions in os::expand-ff-call.
3677
36782007-01-20 23:53  gb
3679
3680        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3681        results when expanding an ff-call.
3682
36832007-01-20 23:52  gb
3684
3685        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3686        foreign args, results.
3687
36882007-01-20 22:31  gb
3689
3690        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3691        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3692        are to each other.  I'd guess that they're pretty close, and that
3693        x86-64 Darwin is random.)
3694
36952007-01-20 21:55  gb
3696
3697        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3698
36992007-01-20 19:34  gb
3700
3701        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3702
37032007-01-20 19:25  gb
3704
3705        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3706        right os::ff-call-expander.
3707
37082007-01-20 19:24  gb
3709
3710        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3711
37122007-01-20 19:24  gb
3713
3714        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3715        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3716        OS.
3717
37182007-01-20 19:23  gb
3719
3720        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3721        probably several more.
3722
37232007-01-20 19:22  gb
3724
3725        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3726
37272007-01-20 19:21  gb
3728
3729        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3730        extended to handle coercions at the Cocoa level, and probably needs
3731        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3732        installed by #_).
3733
37342007-01-20 19:18  gb
3735
3736        * lib/db-io.lisp: Encode, decode union types in arglists.
3737
37382007-01-20 19:17  gb
3739
3740        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3741        os::expand-ff-call.
3742       
3743        Canonicalize the :void type a bit better.
3744
37452007-01-20 19:16  gb
3746
3747        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3748
37492007-01-18 23:15  gb
3750
3751        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3752
37532007-01-18 23:15  gb
3754
3755        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3756
37572007-01-18 23:15  gb
3758
3759        * lib/systems.lisp: Add the new ffi-backend sources.
3760
37612007-01-18 23:14  gb
3762
3763        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3764        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3765        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3766        files.
3767
37682007-01-18 04:35  gb
3769
3770        * level-1/version.lisp: Bump.
3771
37722007-01-18 04:17  gb
3773
3774        * examples/bridge.lisp: Some word-size conditionalization.  Will
3775        need more work to handle struct return/asssignment correctly on all
3776        platforms.
3777
37782007-01-18 04:15  gb
3779
3780        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3781        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3782
37832007-01-18 04:13  gb
3784
3785        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3786        type casts, etc.
3787
37882007-01-18 04:12  gb
3789
3790        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3791        deprecated NSFont stuff.
3792
37932007-01-18 04:11  gb
3794
3795        * examples/objc-clos.lisp: Handle ivars, class
3796        creation/initialization differently for ObjC 2.0.
3797
37982007-01-18 04:10  gb
3799
3800        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3801
38022007-01-18 04:09  gb
3803
3804        * examples/objc-support.lisp: Note which protocols are actually
3805        used when walking classes.  (There doesn't seem to be a good way of
3806        finding a Protocol object pre-objc-2.0, and we may need to test
3807        protocol compliance to disambiguate message sends in some cases.)
3808
38092007-01-18 04:07  gb
3810
3811        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3812        necessarily darwinppc).
3813
38142007-01-18 04:06  gb
3815
3816        * examples/addressbook.lisp: Conditionalize for darwin (not
3817        necessarily darwinppc).  May want to conditionalize for bundle
3818        executable name, as well.
3819
38202007-01-18 04:05  gb
3821
3822        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3823        to sketch out structure return code (structures are often
3824        "returned" by returning field values in registers pn DarwinPPC64.)
3825
38262007-01-18 04:04  gb
3827
3828        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3829        attributes for structure args/results.
3830
38312007-01-18 04:03  gb
3832
3833        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3834         (Will need this for other platforms, too.)
3835
38362007-01-18 04:01  gb
3837
3838        * lib/macros.lisp: Arch-specific macro interface for
3839        WITH-FFCALL-RESULTS.
3840
38412007-01-18 04:00  gb
3842
3843        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3844        return value.
3845
38462007-01-18 04:00  gb
3847
3848        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3849        .SPpoweropen_ffcall_return_registers.
3850
38512007-01-18 03:59  gb
3852
3853        * library/parse-ffi.lisp: At least optionally, make structure
3854        return explicit (expecting it to be handled by higher-level code.)
3855
38562007-01-18 03:58  gb
3857
3858        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3859        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3860
38612007-01-18 03:55  gb
3862
3863        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3864        may hold OS thread context.
3865
38662007-01-18 03:54  gb
3867
3868        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3869        in ftd.
3870
38712007-01-18 03:53  gb
3872
3873        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3874        macro.
3875
38762007-01-18 03:52  gb
3877
3878        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3879        all possible result regs.  (Maybe poweropen syscall, too.)
3880
38812007-01-18 03:51  gb
3882
3883        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3884        .SPpoweropen-ff-call-return-registers.
3885
38862007-01-18 03:50  gb
3887
3888        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3889        supported, backend will return all (potential) result registers in
3890        buffer at <exp>.
3891
38922007-01-16 02:01  gb
3893
3894        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3895        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3896        functions make less sense for character streams/strings than they
3897        used to.)
3898
38992007-01-16 01:39  gb
3900
3901        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3902        defaults to :BIVALENT
3903
39042007-01-16 01:37  gb
3905
3906        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3907
39082007-01-11 23:58  gb
3909
3910        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3911        into (* (/ constant1 constant2) exp).  Not very general, but makes
3912        some foreign address arithmetic better.
3913
39142007-01-11 23:56  gb
3915
3916        * lib/macros.lisp: Simple PAREF: (paref pointer
3917        foreign-pointer-or-array-type index) does simple arithmetic for
3918        you.
3919
39202007-01-11 23:54  gb
3921
3922        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3923
39242007-01-10 15:50  gb
3925
3926        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3927        double->heap vinsn.
3928
39292007-01-09 11:33  gb
3930
3931        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3932        cleanup and multiple values are being thrown, be sure to set
3933        tcr.xframe from the target catch frame.  This is necessary on
3934        general principles (GC safety), and especially necessary if the
3935        cleanup form does a non-local exit.
3936
39372007-01-08 22:12  gb
3938
3939        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3940        Revive some of the old GNUstep support; add partial ObjC 2.0
3941        support (for 64-bit targets only, so far.)
3942
39432007-01-08 22:11  gb
3944
3945        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3946        darwinppc-target.
3947
39482007-01-08 22:10  gb
3949
3950        * examples/cocoa-listener.lisp: Disable background layout in the
3951        listener; the whole two-thread scheme probably isn't viable, but
3952        doing this seems to suppress a timing-related symptom.
3953
39542007-01-08 22:09  gb
3955
3956        * examples/cocoa-editor.lisp: Document-begin-editing,
3957        document-end-editing: both seem to have been conditionalized
3958        backwards.
3959
39602007-01-05 16:22  gb
3961
3962        * level-0/l0-numbers.lisp: Fix another typo ...
3963
39642007-01-05 16:16  gb
3965
3966        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3967
39682007-01-05 15:27  gb
3969
3970        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3971        PPC32.
3972
39732007-01-05 06:20  gb
3974
3975        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3976        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3977        result (with the right arg) does obtain a link map.
3978       
3979        Revive shared libraries on FreeBSD, but don't do the strange
3980        Linux-specific re-opening there.  (It seems like it's possible to
3981        #_dlopen something that already has a loaded link map - like the
3982        FreeBSD dynamic linker - or something.)
3983
39842007-01-04 05:46  gb
3985
3986        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3987        :WILD-INFERIORS.
3988
39892007-01-04 05:45  gb
3990
3991        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
3992        (which may use %gs instead of %fs for tls).
3993
39942007-01-04 05:44  gb
3995
3996        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
3997
39982007-01-04 05:44  gb
3999
4000        * level-0/l0-numbers.lisp:
4001        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4002        accurately represented in float, do so.
4003
40042007-01-03 03:35  gb
4005
4006        * lib/sequences.lisp: Fix a few type errors, check for explicit
4007        vector-type length earlier.
4008
40092007-01-03 03:31  gb
4010
4011        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4012        preserved :WILD, don't map it to "*".
4013
40142007-01-03 03:30  gb
4015
4016        * lib/pathnames.lisp: More whack-a-mole with pathnames
4017        (specifically, preserving :WILD as name/type value and dealing with
4018        the consequences of doing so.)
4019
40202007-01-03 03:27  gb
4021
4022        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4023
40242007-01-02 09:57  gb
4025
4026        * lib/macros.lisp: Keep fixing CTYPECASE.
4027
40282007-01-02 09:57  gb
4029
4030        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4031        BASIC-CHARACTER-INPUT-STREAM returns both values.
4032       
4033        "Composite" (two-way, concatenated, etc) streams need a close
4034        protocol.
4035
40362007-01-02 07:00  gb
4037
4038        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4039        (new) version slot, as does practically everything else.
4040
40412007-01-02 06:59  gb
4042
4043        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4044        accurately coerced to floats when comparing fixnums and floats; do
4045        the logical equvalent of calling RATIONAL on the float instead.
4046
40472007-01-01 23:41  gb
4048
4049        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4050        version into returned namestring for physical pathnames.
4051
40522006-12-31 10:15  gb
4053
4054        * release-notes.txt: Update.
4055
40562006-12-31 09:13  gb
4057
4058        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4059        version.
4060
40612006-12-31 08:57  gb
4062
4063        * xdump/faslenv.lisp: Bump fasl-min-vers.
4064
40652006-12-31 08:49  gb
4066
4067        * lib/nfcomp.lisp: Bump current fasl version.
4068
40692006-12-31 08:33  gb
4070
4071        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4072        Tweak the executable start address.
4073
40742006-12-31 02:44  gb
4075
4076        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4077        ensure that there's nothing interesting in the first few pages of
4078        the address space (and ensure that those pages are mapped.)
4079
40802006-12-31 02:43  gb
4081
4082        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4083        on x86-64 (ld64 does some floating-point arithmetic, fails to
4084        account for roundoff error, and claims that 0x1000 isn't a power of
4085        2.) If you can't say anything good about a linker, it's best not to
4086        say anything at all.
4087       
4088        We can force the first segment to be mapped at 0x1000, and can
4089        waste a few pages to ensure that all low-memory pages that the lisp
4090        wants are mapped.
4091
40922006-12-31 02:33  gb
4093
4094        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4095        defensive.
4096
40972006-12-31 02:32  gb
4098
4099        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4100
41012006-12-31 02:29  gb
4102
4103        * xdump/faslenv.lisp: Bump $fasl-vers.
4104
41052006-12-31 02:28  gb
4106
4107        * level-1/version.lisp: Bump; remove "Beta" designation.
4108
41092006-12-29 20:13  gb
4110
4111        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4112        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4113        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4114        up a page on x86-64 as well.
4115
41162006-12-29 16:09  gb
4117
4118        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4119        .orged.
4120
41212006-12-29 15:32  gb
4122
4123        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4124        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4125        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4126        (including NIL) now one page higher on ppc32, as well.
4127
41282006-12-29 02:38  gb
4129
4130        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4131
41322006-12-29 01:38  gb
4133
4134        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4135        ppc64::reservation-discharge) up a page.
4136
41372006-12-29 01:37  gb
4138
4139        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4140        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4141
41422006-12-29 01:36  gb
4143
4144        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4145        backend.  ppc64 wants it one page higher than it has been, to avoid
4146        letting unmapped pages get claimed by the dynamic linker on Darwin.
4147
41482006-12-29 01:35  gb
4149
4150        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4151        that the image starts at #x1000 and aligned section data for the
4152        text section starts on the next page.
4153
41542006-12-29 01:33  gb
4155
4156        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4157        the aligned text section data starts.
4158
41592006-12-29 01:32  gb
4160
4161        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4162        etc a page higher.
4163
41642006-12-29 01:32  gb
4165
4166        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4167        already where it should be.
4168
41692006-12-29 01:32  gb
4170
4171        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4172        page higher.
4173
41742006-12-29 01:30  gb
4175
4176        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4177
41782006-12-22 01:40  gb
4179
4180        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4181
41822006-12-22 01:39  gb
4183
4184        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4185        PPC32/Darwin.
4186       
4187        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4188        test and use dlfcn functions if at least Tiger.
4189       
4190        (The old dyld functions are deprecated under Leopard, and there's
4191        reason to believe that they don't work correctly on at least ppc64/
4192        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4193        a 64-bit .dylib seems to lead to memory corruption rather than
4194        returning NSObjectFileImageInappropriateFile.
4195       
4196        The old functions work better than the dlfcn functions on pre-Tiger
4197        systems.)
4198
41992006-12-19 01:24  gb
4200
4201        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4202        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4203        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4204        producing a pathane with a non-null VERSION component, as it
4205        arguably should have been all along.
4206
42072006-12-18 13:22  gb
4208
4209        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4210        types into concrete vector types.
4211
42122006-12-18 13:04  gb
4213
4214        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4215        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4216        failing to do this leads to many test failures.)
4217
42182006-12-18 13:03  gb
4219
4220        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4221
42222006-12-18 12:57  gb
4223
4224        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4225        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4226        failing to do this leads to many test failures.)
4227
42282006-12-18 12:54  gb
4229
4230        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4231
42322006-12-16 05:28  gb
4233
4234        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4235        instructions have a minor opcode in frb and only have one source
4236        operand.
4237
42382006-12-16 05:27  gb
4239
4240        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4241        SQRT, note that there's only one operand and that it's in frb.
4242
42432006-12-16 05:25  gb
4244
4245        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4246        instructions, notably fsqrt/fqrts, which are optional and not
4247        implemented on some PPC machines.
4248
42492006-12-16 05:24  gb
4250
4251        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4252
42532006-12-14 19:47  gb
4254
4255        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4256
42572006-12-14 16:43  gb
4258
4259        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4260        double-float arithmetic vinsns should say :double-float, not
4261        :single-float.  (I suspect cut-and-paste, frankly.)
4262
42632006-12-14 16:25  gb
4264
4265        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4266        initial-thread.
4267
42682006-12-14 16:24  gb
4269
4270        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4271        error.
4272
42732006-12-14 16:14  gb
4274
4275        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4276        physical pathnames. (Yes, this is kind of silly.)
4277
42782006-12-14 16:01  gb
4279
4280        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4281        signal errors for (e.g.) failed memory allocation.
4282
42832006-12-14 16:00  gb
4284
4285        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4286        fails, signal a lisp error (what a concept.)
4287
42882006-12-14 15:51  gb
4289
4290        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4291       
4292        Might be worth revisiting this.
4293
42942006-12-14 15:50  gb
4295
4296        * lisp-kernel/x86-exceptions.c: Go back to using the
4297        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4298        from a fake context may not be reliable.
4299       
4300        When handling an interrupt with a partially created temp stack
4301        frame, do the right thing.  (That basically means reset the frame
4302        before calling out and recreating it if we return from the
4303        callout.)
4304       
4305        Handle SIGQUIT on the altstack, to provide a way of forcibly
4306        terminating threads that's a bit more GC-safe than doing it via
4307        #_pthread_cancel.
4308       
4309        Note the tcr of the gc thread on gc entry; if an exception happens
4310        in that thread, print a message and sleep for 60 seconds.
4311       
4312        Note that there's still a race condition here: if thread A gets an
4313        exception and thread B gets the mach_exception_lock (to GC) before
4314        the exception thread can handle the message, we deadlock (thread A
4315        would be suspended in the kernel and can't respond to a suspend
4316        signal.)  We can tell that this has happened and make a good guess
4317        as to why it happened, but dealing with it will require some
4318        thought.  (If we've already issued a suspend signal and eventually
4319        raise the suspended thread's resume semaphore, it'll suspend and
4320        resume once the mach exception thread makes it runnable.  Who
4321        cleans up its exception context in that case ?  Does it matter ?)
4322
43232006-12-14 15:19  gb
4324
4325        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4326        have all signals unmasked.
4327       
4328        If a tcr is dead, ensure that its stack areas are empty.
4329       
4330        Try to run shutdown_thread_tcr as a pthread cleanup action,
4331        hopefully before Mach clobbers the thread's signal mask.
4332
43332006-12-14 15:16  gb
4334
4335        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4336        TCR_AREA_LOCK.
4337
43382006-12-14 15:15  gb
4339
4340        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4341        hasn't existed in years.
4342
43432006-12-14 15:14  gb
4344
4345        * level-1/version.lisp: Bump.
4346
43472006-12-14 15:14  gb
4348
4349        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4350        termination semaphore.
4351
43522006-12-14 15:13  gb
4353
4354        * level-1/l1-processes.lisp: PROCESS objects are created with a
4355        termination semaphore.
4356
43572006-12-14 15:12  gb
4358
4359        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4360        TERMINATION-SEMAPHORE.
4361       
4362        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4363        target thread to transition from running lisp code to running
4364        foreign code without advertising that fact. Send a SIGQUIT instead,
4365        and trust the SIGQUIT handler to manage that transition.  Don't try
4366        to kill the initial thread.
4367
43682006-12-09 09:52  gb
4369
4370        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4371        their CLEAR-OUTPUT methods.
4372       
4373        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4374        their displaced-index-offsets.)
4375
43762006-12-09 09:49  gb
4377
4378        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4379        threads on x86-64.  (The PPC never got around to enabling them.)
4380
43812006-12-09 09:47  gb
4382
4383        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4384        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4385        the result of its evaluation.
4386       
4387        Some fixes in CTYPECASE handling, which hopefully didn't break
4388        anything else.
4389
43902006-12-09 09:36  gb
4391
4392        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4393        1d) index register is set - even if the index is a constant - if we
4394        think that the store needs EGC memoization.
4395       
4396        (Note that the test case that exposed this involved storing
4397        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4398        64-bit platforms.)
4399       
4400        In aref2, don't worry about reserving unscaled index registers when
4401        targeting the 1d index; the unscaled index registers aren't live
4402        after, could be NULL if the index is a constant, and any overlap
4403        between one of them and the 1d index should be handled in the
4404        vinsn(s).
4405
44062006-12-09 09:30  gb
4407
4408        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4409        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4410        class-translations.
4411
44122006-12-09 09:27  gb
4413
4414        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4415        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4416        don't segfault taking its CAR without checking.)
4417
44182006-12-06 18:48  gb
4419
4420        * level-0/X86/x86-float.lisp: x86-64 version of
4421        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4422        in %imm1 (which is undefined here ...)
4423
44242006-12-06 17:05  gb
4425
4426        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4427        right symbol for the named block.
4428       
4429        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4430        (SETF NAME).
4431
44322006-12-05 22:44  gb
4433
4434        * release-notes.txt: Update for 061205.
4435
44362006-12-05 20:31  gb
4437
4438        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4439        from putting a linkedit segment in the wrong place and making
4440        32-bit memory unmappable.
4441
44422006-12-05 20:30  gb
4443
4444        * level-1/version.lisp: Bump.
4445
44462006-12-05 20:29  gb
4447
4448        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4449
44502006-12-05 18:53  gb
4451
4452        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4453        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4454        doc string for *ALTERNATE-LINE-TERMINATOR*.
4455
44562006-12-04 15:13  gb
4457
4458        * level-1/version.lisp: Append a patchlevel to the version string,
4459        at least until new tarballs can be built.
4460
44612006-12-04 15:12  gb
4462
4463        * level-1/l1-streams.lisp: If stream element type upgrades to
4464        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4465        element-type.)
4466
44672006-12-04 13:02  gb
4468
4469        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4470        called): don't bother to shift by 0 bits.  Do shift the initial U
4471        if non-zero trailing 0 BITS (was testing for non-zero trailing
4472        DIGITS.)
4473
44742006-12-04 12:52  gb
4475
4476        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4477        element-types; do some upgrading to support some more element types
4478        (BIT -> (UNSIGNED-BYTE 8)).
4479       
4480        Maybe support arbitrarily large integer types someday soon.  Maybe
4481        not.
4482
44832006-12-04 12:48  gb
4484
4485        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4486        types (compiler stuff, mostly).
4487
44882006-12-04 12:46  gb
4489
4490        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4491        shift count of 32 (and returns 0 in that case.)
4492
44932006-12-04 12:46  gb
4494
4495        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4496        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4497        in case.)
4498
44992006-12-04 12:43  gb
4500
4501        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4502        GCD-2 ...
4503
45042006-12-04 09:26  gb
4505
4506        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4507        for STRING-INPUT-STREAMs.
4508
45092006-12-04 09:24  gb
4510
4511        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4512        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4513        shift by 0 bits.
4514
45152006-12-04 09:21  gb
4516
4517        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4518        doing %SLOT-UNBOUND-TRAP.
4519
45202006-12-04 09:21  gb
4521
4522        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4523        STREAMs, returns NIL.  STREAM-POSITION method for
4524        STRING-INPUT-STREAMs.
4525
45262006-12-04 09:19  gb
4527
4528        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4529        containing heap image.
4530
45312006-12-03 07:41  gb
4532
4533        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4534        STRING-OUTPUT-STREAMs are no-ops.
4535       
4536        Need an ioblock-based character-read-vector function for
4537        string-input-streams.
4538
45392006-12-03 07:37  gb
4540
4541        * lib/describe.lisp: Minimal DESCRIBE support for
4542        CCL::BASIC-STREAM.
4543
45442006-12-03 07:36  gb
4545
4546        * lib/macros.lisp: If :element-type is supplied in
4547        WITH-OUTPUT-TO-STRING, don't quote it.
4548
45492006-12-03 05:11  gb
4550
4551        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4552        isn't necessarily 16.
4553
45542006-12-03 05:10  gb
4555
4556        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4557        isn't necessarily 16.
4558       
4559        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4560        %slot-unbound-trap.
4561
45622006-12-03 05:09  gb
4563
4564        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4565        avoid some NO-NEXT-METHODs.
4566
45672006-12-03 02:42  gb
4568
4569        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4570        bit better.
4571
45722006-12-03 02:41  gb
4573
4574        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4575        bit.
4576
45772006-12-03 02:28  gb
4578
4579        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4580        clearing the low byte of the header, shifting it right, and
4581        comparing the index to that.  (It's not reliable to shift the index
4582        left.)
4583
45842006-12-03 02:26  gb
4585
4586        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4587        write BOM, leave that up to higher-level code.
4588       
4589        Start to write some higher-level code.
4590
45912006-12-03 02:23  gb
4592
4593        * level-1/l1-sysio.lisp: Fix some indentation.
4594
45952006-12-03 02:21  gb
4596
4597        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4598        the header word right (after clearing its low byte) and compare the
4599        index to that.  (Shifting the index left - d'oh - obviously fails
4600        for indices of large magnitude.)
4601
46022006-11-29 21:07  gb
4603
4604        * lib/db-io.lisp: Indentation change.
4605       
4606        Add CDB-ENUMERATE-KEYS.
4607
46082006-11-29 18:37  gb
4609
4610        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4611        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4612        LISTP first.  (I hope ...).  Do so.
4613
46142006-11-28 18:42  gb
4615
4616        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4617
46182006-11-28 16:14  gb
4619
4620        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4621
46222006-11-28 16:12  gb
4623
4624        * examples/objc-runtime.lisp: Wrap a (primitive)
4625        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4626        NSThread.
4627
46282006-11-28 16:09  gb
4629
4630        * examples/cocoa-listener.lisp: Don't claim that a callback
4631        parameter is ignored; use IGNORABLE instead.
4632
46332006-11-21 01:28  gb
4634
4635        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4636        conditionalization.
4637
46382006-11-21 00:55  gb
4639
4640        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4641        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4642       
4643        Basic file-socket streams.
4644
46452006-11-10 05:08  gb
4646
4647        * release-notes.txt: Update.
4648
46492006-11-10 04:28  gb
4650
4651        * lisp-kernel/image.h: Bump min image version.
4652
46532006-11-10 04:19  gb
4654
4655        * xdump/heap-image.lisp: bump current image version.
4656
46572006-11-10 04:19  gb
4658
4659        * lisp-kernel/image.h: bump current, max image version.
4660
46612006-11-10 04:10  gb
4662
4663        * xdump/faslenv.lisp: Bump min fasl version.
4664
46652006-11-10 03:56  gb
4666
4667        * lib/nfcomp.lisp: bump current fasl version.
4668
46692006-11-10 03:47  gb
4670
4671        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4672        #_exit
4673
46742006-11-10 03:46  gb
4675
4676        * compiler/X86/x862.lisp: TYPE typo.
4677
46782006-11-10 03:32  gb
4679
4680        * xdump/faslenv.lisp: Bump max fasl version.
4681
46822006-11-10 03:25  gb
4683
4684        * level-1/version.lisp: Bump.  New snapshots today!
4685
46862006-11-09 16:26  gb
4687
4688        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4689       
4690        PREPARE-TO-QUIT kill stragglers without waiting as long.
4691
46922006-11-09 15:50  gb
4693
4694        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4695       
4696        Try to run lisp code after #_exit via lazarus(); this is for some
4697        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4698       
4699        The environment in which The Undead code runs is a little funky,
4700        especially on PPC.  There might be GC implications (cstack will
4701        contain call history as of the point when #_exit called atexit
4702        handlers, vstack & tstack are emptied in lazarus()).  We should
4703        barely run any code in this environment, but we will GC a time or
4704        two ...
4705
47062006-11-09 15:45  gb
4707
4708        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4709
47102006-11-09 15:43  gb
4711
4712        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4713        protocol.
4714
47152006-11-09 15:42  gb
4716
4717        * examples/cocoa-listener.lisp: :set-document-edited for listener
4718        "documents" is a no-op.
4719
47202006-11-09 15:39  gb
4721
4722        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4723        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4724
47252006-11-09 12:50  gb
4726
4727        * compiler/X86/x862.lisp: Always check that array-ctype's
4728        dimensions are a list before taking their length.
4729
47302006-11-09 12:13  gb
4731
4732        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4733        right thing ...
4734
47352006-11-09 10:08  gb
4736
4737        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4738        Three-arg aref/(setf aref) for x8664.
4739
47402006-11-09 05:37  gb
4741
4742        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4743        errors.
4744
47452006-11-09 05:37  gb
4746
4747        * compiler/nxenv.lisp: Operators for 3d array access.
4748
47492006-11-09 05:36  gb
4750
4751        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4752        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4753        array types.
4754
47552006-11-08 12:50  gb
4756
4757        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4758        Leopard nonsense: define the stack context struct separately, make
4759        the ucontext stack field an instance of it.  (Not -sure- if that
4760        was necessary, but :poweropen-target was accidentally on *FEATURES*
4761        and foreign struct layout was using read-time condtionalization to
4762        decide whether or not to use brain-dead structure-alignment rules
4763        leftover from AIX/PowerOpen.
4764
47652006-11-08 12:46  gb
4766
4767        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4768
47692006-11-08 12:40  gb
4770
4771        * compiler/optimizers.lisp: Try to infer/insert the array type when
4772        compiler-macroexpanding MAKE-ARRAY calls.
4773
47742006-11-08 12:39  gb
4775
4776        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4777        :poweropen-alignment rules.
4778
47792006-11-08 12:38  gb
4780
4781        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4782        to poweropen structure layout rules should be an attribute of the
4783        FTD, not done via read-time conditionalization.
4784
47852006-11-08 05:15  gb
4786
4787        * level-1/version.lisp: Bump.
4788
47892006-11-08 05:15  gb
4790
4791        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4792       
4793        TODO: get rid of "bivalent" streams, but allow switching some
4794        streams (sockets) between "character mode" and "binary mode".
4795
47962006-11-08 02:39  gb
4797
4798        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4799
48002006-11-07 21:10  gb
4801
4802        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4803        ASET->%ASET3.
4804
48052006-11-07 20:40  gb
4806
4807        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4808
48092006-11-07 20:39  gb
4810
4811        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4812
48132006-11-07 20:38  gb
4814
4815        * level-0/l0-array.lisp: Use %aref2,%aref3.
4816
48172006-11-07 20:37  gb
4818
4819        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4820        vector-store vinsns.
4821
48222006-11-07 20:37  gb
4823
4824        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4825
48262006-11-07 10:28  gb
4827
4828        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4829        .SPaset3.
4830
48312006-11-07 10:27  gb
4832
4833        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4834
48352006-11-07 10:26  gb
4836
4837        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4838        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4839
48402006-11-07 10:26  gb
4841
4842        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4843        mullw/mulld.
4844
48452006-11-07 04:12  gb
4846
4847        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4848
48492006-11-06 22:07  gb
4850
4851        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4852        :fixnum-vector case.
4853
48542006-11-06 22:04  gb
4855
4856        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4857        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4858        known/declared.
4859
48602006-11-06 22:02  gb
4861
4862        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4863        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4864        versions, but it helps not to have to remember which are
4865        implemented and which aren't.)
4866
48672006-11-06 22:01  gb
4868
4869        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4870
48712006-11-06 22:00  gb
4872
4873        * compiler/nx1.lisp: New %ASET2 handling.
4874
48752006-11-06 21:59  gb
4876
4877        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4878        never assigned to.
4879
48802006-11-05 22:09  gb
4881
4882        * level-1/x86-trap-support.lisp: Try to work around
4883        incompatibilites in Tiger/Leopard headers.
4884
48852006-11-05 22:08  gb
4886
4887        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4888        the foreign function may not exist.
4889
48902006-11-05 20:41  gb
4891
4892        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4893
48942006-11-05 07:55  gb
4895
4896        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4897        x86-64, as well.
4898
48992006-11-05 07:52  gb
4900
4901        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4902
49032006-11-05 07:50  gb
4904
4905        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4906        .SPaset2.
4907
49082006-11-05 07:48  gb
4909
4910        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4911        testing simple-array-ness, add the (possibly 0) displacement from
4912        the header before handling the simple aref of the data vector.
4913
49142006-11-05 07:47  gb
4915
4916        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4917        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4918
49192006-11-05 07:46  gb
4920
4921        * level-1/version.lisp: Bump; new binaries soon.
4922
49232006-11-05 07:46  gb
4924
4925        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4926        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4927        4G seconds after an EINTR on Leopard.
4928
49292006-11-05 07:44  gb
4930
4931        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4932        if any non-fixnum bits would be set in the result.  (Should
4933        probably make this true on all platforms; for PPC64, it's important
4934        for foreign function addresses that're ... suboptimally aligned.)
4935
49362006-11-05 07:42  gb
4937
4938        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4939        %NANOSLEEP's second (by reference) argument contains garbage after
4940        an EINTR.  (The L word, again.)
4941
49422006-11-05 07:41  gb
4943
4944        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4945        into the kernel.
4946
49472006-11-05 07:40  gb
4948
4949        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4950        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4951        MACPTR->FIXNUM return NIL if an address isn't representable as a
4952        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4953        can't return a fixnum on PPC (really just affects PPC64.)
4954
49552006-11-05 07:37  gb
4956
4957        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4958
49592006-11-05 07:36  gb
4960
4961        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4962        2d aref support/changes.
4963
49642006-11-05 07:36  gb
4965
4966        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4967        x8664 wrt 2d aref.  Stll a ways to go.
4968
49692006-11-05 07:35  gb
4970
4971        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4972
49732006-11-04 00:05  gb
4974
4975        * level-1/version.lisp: Bump.
4976
49772006-11-03 23:10  gb
4978
4979        * level-1/ppc-error-signal.lisp: fix parens.
4980
49812006-11-03 23:09  gb
4982
4983        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4984        gvector types contains :struct, not :structure.
4985
49862006-11-03 23:08  gb
4987
4988        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4989        subprim.
4990       
4991        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
4992        in the builtin functions table.
4993
49942006-11-03 15:19  gb
4995
4996        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
4997
49982006-11-03 15:18  gb
4999
5000        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5001
50022006-11-03 15:17  gb
5003
5004        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5005        type-error UUOs.
5006
50072006-11-03 15:16  gb
5008
5009        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5010
50112006-11-03 15:16  gb
5012
5013        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5014        (array-header) layout.
5015
50162006-11-03 13:46  gb
5017
5018        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5019        returns its argument if all members are SPECIALIZERS.
5020       
5021        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5022        arguments, for the benefit of people who haven't read the MOP spec
5023        or who don't realize that the MOP defines some things differently
5024        from CLHS.
5025
50262006-11-03 13:38  gb
5027
5028        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5029        to refer to primitive structure type.
5030       
5031        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5032
50332006-11-03 13:37  gb
5034
5035        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5036        :STRUCTURE) is on target-gvector-types.
5037
50382006-11-03 12:53  gb
5039
5040        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5041
50422006-11-03 12:52  gb
5043
5044        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5045         More to come ...
5046
50472006-11-03 12:52  gb
5048
5049        * lisp-kernel/x86-constants64.s: Define array-header layout.
5050
50512006-11-03 12:51  gb
5052
5053        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5054        encodings, new type-error constants.
5055
50562006-11-03 12:50  gb
5057
5058        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5059        traps.
5060
50612006-11-03 12:49  gb
5062
5063        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5064        constant-redefinition CERRORs.
5065
50662006-11-03 12:48  gb
5067
5068        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5069
50702006-11-03 12:47  gb
5071
5072        * level-0/l0-pred.lisp: array--header -> array-header.
5073
50742006-11-03 12:47  gb
5075
5076        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5077        add/change some 2d array stuff.
5078
50792006-11-03 12:43  gb
5080
5081        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5082        subprims; seem to be much (>5x) faster than the lisp/lap versions
5083        (though we can generally be faster still when we know the
5084        element-type and/or know whether the array is simple or explicitly
5085        displaced.)
5086
50872006-11-03 12:41  gb
5088
5089        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5090        related changes.
5091       
5092        Split the code which handles bounds/type-checking in vref out from
5093        the code which actually does the reference, so that the latter can
5094        be used in multidimensional cases.
5095       
5096        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5097        general case.)
5098
50992006-11-03 12:38  gb
5100
5101        * compiler/nx1.lisp: Change handling of 2d-aref.
5102
51032006-11-03 12:37  gb
5104
5105        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5106        general-aref2.  More changes to come (and this may affect
5107        compilation on PPC until some PPC compiler changes are
5108        made/checked-in.)
5109
51102006-11-03 12:35  gb
5111
5112        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5113        the range 128-255, rather than 64-127; more are defined.
5114
51152006-11-02 09:43  gb
5116
5117        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5118
51192006-11-02 09:37  gb
5120
5121        * compiler/arch.lisp: New error constants; work in progress ...
5122
51232006-11-01 11:40  gb
5124
5125        * lisp-kernel/errors.s: Some new constants; more to check in later.
5126
51272006-10-31 03:39  gb
5128
5129        * level-0/l0-io.lisp: You must be reading the OLD rule book
5130        (Leopard and #$EINTR).
5131
51322006-10-31 03:21  gb
5133
5134        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5135        the tcr.  Initialize "addr" before testing it ...
5136
51372006-10-31 03:21  gb
5138
5139        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5140        the tcr.
5141
51422006-10-30 20:40  gb
5143
5144        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5145        expands into something more useful.
5146
51472006-10-30 20:39  gb
5148
5149        * lisp-kernel/ppc-spentry.s: Fix ppc32
5150        misc_ref_double_float_vector.
5151
51522006-10-30 00:24  gb
5153
5154        * level-0/l0-bignum64.lisp: Enable the destructive version of
5155        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5156        provide/fix supporting functions.  Seems to work on ppc64; needs
5157        testing on x8664.
5158
51592006-10-27 17:49  gb
5160
5161        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5162
51632006-10-25 20:36  gb
5164
5165        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5166        variants): always clear the untyi-char.
5167       
5168        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5169        needs an argument.
5170       
5171        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5172        bivalent streams.
5173       
5174        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5175
51762006-10-24 12:35  gb
5177
5178        * level-1/version.lisp: Bump.
5179
51802006-10-24 01:29  gb
5181
5182        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5183        _SPdestbind1 (still used in inlining, sometimes.)
5184
51852006-10-24 01:05  gb
5186
5187        * release-notes.txt: Change the date, add/change some content.
5188
51892006-10-24 01:05  gb
5190
5191        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5192        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5193
51942006-10-24 00:56  gb
5195
5196        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5197        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5198
51992006-10-24 00:55  gb
5200
5201        * level-1/l1-streams.lisp: When recycling
5202        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5203        (Failure to do this can screw up the pretty-printer, among other
5204        things.)
5205
52062006-10-24 00:52  gb
5207
5208        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5209        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5210
52112006-10-23 17:03  gb
5212
5213        * release-notes.txt: Updated; almost ready to go (still a
5214        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5215
52162006-10-23 16:43  gb
5217
5218        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5219        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5220
52212006-10-23 16:42  gb
5222
5223        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5224        STREAM-EXTERNAL-FORMAT) methods.
5225
52262006-10-23 16:41  gb
5227
5228        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5229        stuff.
5230
52312006-10-23 08:27  gb
5232
5233        * level-1/version.lisp: Bump; binaries today, honest.
5234
52352006-10-23 08:27  gb
5236
5237        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5238
52392006-10-23 08:26  gb
5240
5241        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5242        macros were checking for the presence of an input lock ...
5243
52442006-10-23 05:40  gb
5245
5246        * level-1/l1-streams.lisp: Optimize write-string on string streams
5247        a little.
5248
52492006-10-23 05:26  gb
5250
5251        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5252        which evaluates the string form twice; don't do whatever was being
5253        done to default the element type of the string stream.
5254
52552006-10-23 05:24  gb
5256
5257        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5258        keyword/subtype checking if element-type not provided.  (Could also
5259        skip it if it's explicit and obviously OK.)
5260
52612006-10-23 05:22  gb
5262
5263        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5264        "current" allocation if nothing's reserved.
5265
52662006-10-23 05:19  gb
5267
5268        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5269        update_bytes_allocated (sign of "disp").
5270
52712006-10-22 08:02  gb
5272
5273        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5274        form like a PROGN if there are no other forms.
5275
52762006-10-22 08:01  gb
5277
5278        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5279        ioblock functions.
5280       
5281        New string-stream implementation.  Better ...
5282
52832006-10-22 07:59  gb
5284
5285        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5286        before the stream closes.
5287
52882006-10-22 07:59  gb
5289
5290        * lib/pprint.lisp: Don't assume that string output stream strings
5291        have a fill-pointer; use STREAM-POSITION instead.
5292
52932006-10-22 07:57  gb
5294
5295        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5296        functions, after all.
5297       
5298        Go through (new) ioblock-unread-char-function.
5299
53002006-10-22 07:55  gb
5301
5302        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5303        x/s
5304
53052006-10-21 18:46  gb
5306
5307        * level-1/l1-streams.lisp: Typo.
5308
53092006-10-21 18:41  gb
5310
5311        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5312        fields in pseudo sigcontexts.
5313
53142006-10-21 18:40  gb
5315
5316        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5317        twice, etc.)
5318
53192006-10-21 18:35  gb
5320
5321        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5322        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5323        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5324        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5325        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5326
53272006-10-21 16:45  gb
5328
5329        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5330        encodings!
5331
53322006-10-19 13:48  gb
5333
5334        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5335        arg_z - in %safe-get-ptr.
5336
53372006-10-19 13:22  gb
5338
5339        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5340        optional, use #\Sub char-code as replaement char.
5341
53422006-10-19 13:21  gb
5343
5344        * examples/objc-runtime.lisp: Missing close paren.
5345
53462006-10-19 13:19  gb
5347
5348        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5349        strings to/from foreign memory.
5350
53512006-10-19 13:18  gb
5352
5353        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5354
53552006-10-18 08:04  gb
5356
5357        * level-1/version.lisp: Bump.  Binaries later today ?
5358
53592006-10-18 07:38  gb
5360
5361        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5362        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5363        class becomes (or ceases to be) a properly named class.
5364       
5365        The pre-bootstrapping version handles simpler cases of that; use
5366        ALIAS-CLASS to register some early class names as type names.
5367
53682006-10-18 07:36  gb
5369
5370        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5371        system, since only symbols which name properly-named classes are
5372        type specifiers.  Changing the name of a class can either introduce
5373        or remove a properly-named class.
5374       
5375        Classes that have the kernel-p attribute shouldn't have their names
5376        changed casually.
5377
53782006-10-18 07:33  gb
5379
5380        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5381        MAKE-SOCKET, pass it down to whatever function actually creates a
5382        stream socket.
5383
53842006-10-18 02:12  gb
5385
5386        * compiler/X86/x862.lisp: Allow closed-over addresses in
5387        conditional-form, NOT.
5388
53892006-10-18 01:43  gb
5390
5391        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5392        safe_ref_addres.
5393
53942006-10-18 01:43  gb
5395
5396        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5397
53982006-10-18 01:41  gb
5399
5400        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5401        addresses/vcells to nil.
5402
54032006-10-18 01:41  gb
5404
5405        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5406        addresses to NIL.
5407       
5408        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5409        level inline.
5410
54112006-10-18 01:39  gb
5412
5413        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5414        for a few months now.  The disassembler is always the last to know.
5415
54162006-10-17 19:15  gb
5417
5418        * compiler/PPC/PPC32/ppc32-arch.lisp,
5419        compiler/PPC/PPC64/ppc64-arch.lisp,
5420        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5421        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5422        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5423        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5424        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5425        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5426       
5427        Handle memory faults to safe-ref-addres on PPC (so far).
5428       
5429        Try using SAFE-GET-PTR in objc runtime (untested).
5430
54312006-10-17 17:34  gb
5432
5433        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5434        type in acode.
5435
54362006-10-17 14:02  gb
5437
5438        * level-1/l1-unicode.lisp: BOM-ENCODING.
5439
54402006-10-17 14:02  gb
5441
5442        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5443        something.
5444       
5445        Clear the pending-bom flag when seeking.
5446
54472006-10-17 14:01  gb
5448
5449        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5450        ioblock-based character streams.
5451
54522006-10-17 13:45  gb
5453
5454        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5455        *interrupt-level* inline.
5456
54572006-10-17 13:44  gb
5458
5459        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5460        immmediate operand (xuuo).
5461
54622006-10-17 13:39  gb
5463
5464        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5465        when necessary.
5466
54672006-10-17 13:39  gb
5468
5469        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5470        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5471
54722006-10-15 17:51  gb
5473
5474        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5475       
5476        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5477
54782006-10-15 17:51  gb
5479
5480        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5481
54822006-10-15 17:50  gb
5483
5484        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5485
54862006-10-14 07:41  gb
5487
5488        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5489        ENSURING-NODE-TARGET.
5490       
5491        Inline the fixnum case of two-arg numeric comparisons.
5492
54932006-10-14 07:39  gb
5494
5495        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5496        INLINE-SUB2 support.
5497
54982006-10-14 06:30  gb
5499
5500        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5501        generated DEFSTRUCT accessors.
5502
55032006-10-14 06:27  gb
5504
5505        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5506       
5507        Do the fixnum case of two-argument subtraction inline.
5508       
5509        Inline the fixnum case of two-argument numeric comparisons.
5510       
5511        STRUCT-REF avoids typechecking when reckless.
5512
55132006-10-14 06:21  gb
5514
5515        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5516        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5517
55182006-10-14 06:20  gb
5519
5520        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5521        little differently.
5522       
5523        Add xchg-registers.
5524
55252006-10-13 04:54  gb
5526
5527        * compiler/nx1.lisp: Use new NUMCMP operator.
5528
55292006-10-13 04:53  gb
5530
5531        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5532        in effect at call time, not those in effect at definition time.
5533
55342006-10-13 04:50  gb
5535
5536        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5537        inlining issues.
5538
55392006-10-13 04:30  gb
5540
5541        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5542
55432006-10-12 19:46  gb
5544
5545        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5546        "--" is seen.
5547
55482006-10-12 19:45  gb
5549
5550        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5551        newline translation differenly (at the character I/O level, not the
5552        buffer level).
5553       
5554        All character encoding/decoding functions operate on octets, not
5555        necessarily code units.  (The stream encode/decode functions are an
5556        exception; serialization and byte ordering are handled by the
5557        stream.)
5558
55592006-10-09 16:34  gb
5560
5561        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5562        encode a character in (implicit) iso-8859-1.
5563
55642006-10-09 16:33  gb
5565
5566        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5567        a replacement character.
5568
55692006-10-09 16:31  gb
5570
5571        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5572        write/read something, even if it's a replacement character of some
5573        sort.
5574
55752006-10-09 15:19  gb
5576
5577        * level-1/l1-streams.lisp: More stuff about line termination.  When
5578        will this end ?
5579
55802006-10-09 15:19  gb
5581
5582        * lib/chars.lisp: Use a hashtable to map characters to their names.
5583         (Maybe a sparse vector ?).
5584
55852006-10-09 15:18  gb
5586
5587        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5588        their names.  (Maybe a sparse vector ?).
5589       
5590        Define #\Sub and #\Replacement_Character.
5591
55922006-10-08 21:17  gb
5593
5594        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5595        NEW-BACKTRACE for a while now.
5596
55972006-10-08 21:16  gb
5598
5599        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5600        Panther happy.
5601
56022006-10-08 20:30  gb
5603
5604        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5605
56062006-10-08 20:30  gb
5607
5608        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5609        pathname, before it's too late ...
5610
56112006-10-08 20:29  gb
5612
5613        * level-1/l1-unicode.lisp: ASCII, some other changes.
5614
56152006-10-08 20:29  gb
5616
5617        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5618        :line-termination option to MAKE-FD-STREAM.
5619
56202006-10-08 20:28  gb
5621
5622        * level-1/l1-streams.lisp: Yet another line-termination translation
5623        scheme; hopefully, the last for a while. (More tedium before it's
5624        actually installed.)
5625
56262006-10-08 20:27  gb
5627
5628        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5629        #\Paragraph_separator.
5630
56312006-10-07 20:35  gb
5632
5633        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5634
56352006-10-07 20:34  gb
5636
5637        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5638        kernel debugger if interactive streams aren't initialized yet.
5639        (We'd probably get there sooner or later in that case; try to get
5640        there sooner.)
5641
56422006-10-07 20:33  gb
5643
5644        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5645        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5646        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5647        method.)
5648
56492006-10-07 20:32  gb
5650
5651        * level-1/l1-application.lisp: Handle the (new)
5652        -K/--terminal-encoding command-line argument.
5653
56542006-10-07 11:14  gb
5655
5656        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5657        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5658        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5659
56602006-10-07 11:13  gb
5661
5662        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5663        entered when --batch is in effect.
5664
56652006-10-07 11:12  gb
5666
5667        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5668        PROCESS-EXIT-APPLICATION.
5669
56702006-10-07 11:11  gb
5671
5672        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5673        *stdout* here.
5674
56752006-10-06 04:49  gb
5676
5677        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5678        TRANSLATE slot to IO-BUFFER.
5679
56802006-10-06 04:40  gb
5681
5682        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5683
56842006-10-06 04:39  gb
5685
5686        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5687
56882006-10-06 04:38  gb
5689
5690        * level-1/version.lisp: Bump.
5691
56922006-10-06 04:38  gb
5693
5694        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5695        replacement character.
5696
56972006-10-05 14:46  gb
5698
5699        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5700
57012006-10-05 14:46  gb
5702
5703        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5704
57052006-10-05 14:46  gb
5706
5707        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5708        C-like value (all exceptions masked) before doing a callback.  (Not
5709        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5710        value, where most exceptions were unmasked, and this caused FP
5711        exceptions when calling out to foreign code with the "lispy"
5712        tcr.foreign_mxcsr in effect.)
5713       
5714        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5715        the spurious SIGTRAPs, but might be the right idea (and might save
5716        a context switch or two.)
5717       
5718        Mach exception stuff initializes rflags to exception rflags when
5719        arranging to resume thread at handler.  Leaving them uninitialized
5720        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5721        set.
5722
57232006-10-05 06:09  gb
5724
5725        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5726
57272006-10-05 06:09  gb
5728
5729        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5730        #\U+xxxx syntax.
5731
57322006-10-05 06:08  gb
5733
5734        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5735
57362006-10-05 06:07  gb
5737
5738        * level-1/l1-sysio.lisp: Try to get
5739        line-termination/external-format stuff working.
5740
57412006-10-05 05:35  gb
5742
5743        * level-1/l1-streams.lisp: Assume that character data is always
5744        encoded as one or more 8-bit octets.
5745
57462006-10-05 04:59  gb
5747
5748        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5749        just before we make the first one.
5750
57512006-10-02 08:13  gb
5752
5753        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5754        handlers, so we need to make handlers do a sigreturn after
5755        switching off the signal stack, etc.
5756
57572006-10-02 08:11  gb
5758
5759        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5760        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5761        handling for cleanup of tcr pending exception and since we can't
5762        easily restore the signal mask.)
5763       
5764        (Up until this point, SIGRETURN has been a nop on Darwin.)
5765
57662006-10-02 04:59  gb
5767
5768        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5769        earlier.
5770
57712006-10-02 04:47  gb
5772
5773        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5774        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5775        systems <= 10.4).
5776
57772006-10-02 02:46  gb
5778
5779        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5780        Try to make x86-64 version compile under 10.4 again; see if this
5781        breaks post-10.4 compilation.
5782
57832006-10-02 02:33  gb
5784
5785        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5786        x86-exceptions.h: Change things so that they compile for x86-64 on
5787        systems later than 10.4.  Almost certainly break 10.4 compilation
5788        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5789        hours on crap like this, just let me know!)
5790
57912006-09-27 20:33  gb
5792
5793        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5794
57952006-09-27 20:33  gb
5796
5797        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5798
57992006-09-27 05:46  gb
5800
5801        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5802        BASIC-STREAM classes a class prototype.
5803
58042006-09-27 05:45  gb
5805
5806        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5807        initialization, to make it easier to use MAKE-FD-STREAM to open
5808        (seekable) FILE-STREAMs.
5809
58102006-09-27 05:41  gb
5811
5812        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5813        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5814
58152006-09-27 05:39  gb
5816
5817        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5818        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5819        division-by-zero, but that should be masked when in foreign code.)
5820        Don't reload the lisp mxcsr until other registers have been popped,
5821        to make debugging easier in case it's the act of reloading the
5822        mxcsr that causes the spurious trap.)
5823
58242006-09-27 05:36  gb
5825
5826        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5827
58282006-09-27 05:35  gb
5829
5830        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5831        was parenthesized in such a way as to not return the error value on
5832        error.
5833
58342006-09-27 05:34  gb
5835
5836        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5837        passing context into the kernel makes it too difficult to debug/get
5838        backtrace, etc.)
5839
58402006-09-27 05:33  gb
5841
5842        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5843        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5844
58452006-09-27 05:05  gb
5846
5847        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5848        (mostly for BUILT-IN-CLASSes).
5849
58502006-09-26 20:49  gb
5851
5852        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5853        a BASIC-P argument.
5854
58552006-09-26 20:47  gb
5856
5857        * level-1/l1-streams.lisp: More changes.  Imagine that.
5858
58592006-09-26 20:46  gb
5860
5861        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5862        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5863
58642006-09-26 20:43  gb
5865
5866        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5867        take/return strings, not chars.
5868       
5869        Some bom stuff.
5870
58712006-09-24 20:14  gb
5872
5873        * lib/chars.lisp: Check for assumptions about character size.
5874        Remove some %i-isms (fixnum arithmetic), make assertions about type
5875        of char-code.
5876
58772006-09-24 20:12  gb
5878
5879        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5880        CHKBOUNDS function.  Simpler STRING-START-END.
5881
58822006-09-24 20:11  gb
5883
5884        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5885        Probably belongs elsewhere; some encodings may not make it at all
5886        possible.
5887
58882006-09-24 20:07  gb
5889
5890        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5891        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5892
58932006-09-24 20:00  gb
5894
5895        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5896        line-termination slot from ioblock and corresponding arg from
5897        functions which initialize it.
5898
58992006-09-24 19:59  gb
5900
5901        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5902        file-ioblock.
5903
59042006-09-24 19:58  gb
5905
5906        * level-1/l1-unicode.lisp: Buffer translation functions don't
5907        belong here; start thinking about BOM.
5908
59092006-09-24 19:57  gb
5910
5911        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5912        it's been a :u32const for the last few weeks ...
5913
59142006-09-24 04:29  gb
5915
5916        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5917        the code is within its bounds.
5918
59192006-09-24 04:27  gb
5920
5921        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5922        mappings in a vector and a hash table, rather than in an alist.
5923
59242006-09-24 04:26  gb
5925
5926        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5927        character constant fasl encoding ($fasl-char).
5928
59292006-09-23 05:31  gb
5930
5931        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5932        sure which are the most important.)
5933
59342006-09-23 05:29  gb
5935
5936        * level-1/l1-sysio.lisp: Start to separate
5937        line-termination/external-format stuff.
5938
59392006-09-23 05:28  gb
5940
5941        * level-1/l1-streams.lisp: Lots-o-changes.
5942
59432006-09-23 05:28  gb
5944
5945        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5946        UTF-8 (mostly for debugging utf-8 ...)
5947
59482006-09-21 04:07  gb
5949
5950        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5951        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5952        clobbered r11, sometimes didn't.)
5953
59542006-09-21 04:05  gb
5955
5956        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5957
59582006-09-21 04:05  gb
5959
5960        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5961        callback_for_interrupt.
5962
59632006-09-21 04:04  gb
5964
5965        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5966        x86-64 ucontext/mcontext on Darwin.
5967
59682006-09-21 04:02  gb
5969
5970        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5971        flavors.
5972       
5973        Add a type decl in %nanosleep.
5974
59752006-09-21 04:01  gb
5976
5977        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5978        vinsns.
5979
59802006-09-21 04:01  gb
5981
5982        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5983        values.  (Probably only matters in a few cases, like the Darwin
5984        x86-64 version of #_nanosleep, which returns a non-sign-extended
5985        "int" value if the sleep is interruted.)
5986
59872006-09-20 06:34  gb
5988
5989        * level-1/version.lisp: Bump.
5990
59912006-09-20 04:24  gb
5992
5993        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5994        slight improvements in signed-byte boxing, typechecking.
5995
59962006-09-20 04:22  gb
5997
5998        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
5999
60002006-09-20 04:21  gb
6001
6002        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6003
60042006-09-20 04:21  gb
6005
6006        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6007
60082006-09-20 04:20  gb
6009
6010        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6011        versions.  Need a "logical" UTF-16, which deals with byte-order
6012        marks and a means of installing a concrete encoding.  Needs
6013        testing.
6014
60152006-09-20 04:15  gb
6016
6017        * level-1/l1-streams.lisp: Numerous changes.
6018
60192006-09-20 04:15  gb
6020
6021        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6022
60232006-09-20 04:14  gb
6024
6025        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6026        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6027
60282006-09-20 04:12  gb
6029
6030        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6031        8,16,32,64
6032
60332006-09-19 01:38  gb
6034
6035        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6036        vinsns for REQUIRE-[US][8,16,32,64]
6037
60382006-09-19 01:37  gb
6039
6040        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6041        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6042        64).
6043
60442006-09-19 01:36  gb
6045
6046        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6047
60482006-09-19 01:36  gb
6049
6050        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6051        operators.
6052
60532006-09-19 01:34  gb
6054
6055        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6056        require-[us][8,16,32,64] when possible.
6057
60582006-09-19 01:34  gb
6059
6060        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6061
60622006-09-19 01:33  gb
6063
6064        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6065
60662006-09-19 01:15  gb
6067
6068        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6069        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6070
60712006-09-19 00:36  gb
6072
6073        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6074
60752006-09-18 21:42  gb
6076
6077        * lib/macros.lisp: Macros for locking the input/output locks of an
6078        ioblock, assuming that it exists.
6079
60802006-09-17 00:45  gb
6081
6082        * level-1/l1-streams.lisp: more changes
6083
60842006-09-13 06:52  gb
6085
6086        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6087        WRITE-STRING, TERPRI.
6088
60892006-09-13 06:08  gb
6090
6091        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6092
60932006-09-13 06:07  gb
6094
6095        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6096        named encoding isn't defined.
6097       
6098        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6099
61002006-09-13 06:06  gb
6101
6102        * level-1/l1-streams.lisp: More functions in the ioblock, some
6103        support for 8-bit encodings (like utf-8).  Not finished, but
6104        getting hard to bootstrap; need to check in and build on all
6105        platforms before it gets even harder.
6106
61072006-09-12 05:34  gb
6108
6109        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6110        %copy-ivector-to-pointer) in BUG.
6111
61122006-09-12 05:31  gb
6113
6114        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6115        altstack_signal_handler is entered in foreign code.  (Maybe want to
6116        signal a lisp error in some cases, but this is currently fatal and
6117        we might as well die earlier than with a stack overflow.)
6118
61192006-09-12 05:29  gb
6120
6121        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6122        direction right on FreeBSD.  (Much better than randomly scribbling
6123        on memory in the GC, as the FreeBSD port has been doing for months
6124        now ...)
6125
61262006-09-11 21:31  gb
6127
6128        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6129        intersection.
6130
61312006-09-11 21:21  gb
6132
6133        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6134
61352006-09-11 20:10  gb
6136
6137        * level-1/l1-unicode.lisp: Character encodings contain a
6138        LITERAL-CHAR-CODE-LIMIT field.
6139
61402006-09-11 20:09  gb
6141
6142        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6143        functionality for encoded streams.
6144
61452006-09-11 20:08  gb
6146
6147        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6148
61492006-09-09 04:39  gb
6150
6151        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6152        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6153
61542006-09-09 04:21  gb
6155
6156        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6157        reasonable for ^c syntax; don't do MOD for octal.
6158
61592006-09-09 04:21  gb
6160
6161        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6162        agains boxed Unicode limit
6163
61642006-09-09 03:56  gb
6165
6166        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6167        x8664 functions, hash tables.  (PPC versions should handle hash
6168        table key movement.)
6169
61702006-09-08 22:47  gb
6171
6172        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6173        #x100.
6174
61752006-09-08 22:38  gb
6176
6177        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6178        FIXNUM->CHAR: return NIL for surrogate pairs.
6179
61802006-09-08 22:33  gb
6181
6182        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6183
61842006-09-08 22:31  gb
6185
6186        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6187        sanity-check fn/lr).
6188
61892006-09-08 18:55  gb
6190
6191        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6192        necessarily want arbitrary expressions to be compiled unsafely; do
6193        want to avoid a little type-checking sometimes.)
6194
61952006-09-08 18:52  gb
6196
6197        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6198        for values in the surrogate-pairs range.  (There are other things
6199        that it could plausibly return NIL for.)
6200
62012006-09-08 18:51  gb
6202
6203        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6204        now, just purify strings.
6205
62062006-09-08 18:48  gb
6207
6208        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6209        8), which is still useful (and exactly what it used to do.)
6210
62112006-09-08 18:47  gb
6212
6213        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6214
62152006-09-08 18:44  gb
6216
6217        * level-1/level-1.lisp: Load l1-unicode.
6218
62192006-09-08 18:44  gb
6220
6221        * level-1/l1-unicode.lisp: New file.
6222
62232006-09-07 03:50  gb
6224
6225        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6226
62272006-09-07 03:44  gb
6228
6229        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6230        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6231        attribute of the backend (may need more pure space on x86-64.)
6232
62332006-09-07 03:43  gb
6234
6235        * lisp-kernel/image.h: Bump abi version.
6236
62372006-09-07 03:43  gb
6238
6239        * level-1/version.lisp: Bump.
6240
62412006-09-07 02:58  gb
6242
6243        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6244        seems to mask synchronous signals.  Unmask them in signal handlers.
6245
62462006-09-07 02:57  gb
6247
6248        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6249        signal mask.
6250
62512006-09-07 02:56  gb
6252
6253        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6254        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6255        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6256        (char are 32 bits wide on all platforms now.)
6257
62582006-09-07 00:40  gb
6259
6260        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6261        SIGNUM_FOR_PROCESS_INTERRUPT.
6262
62632006-09-07 00:12  gb
6264
6265        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6266        box_fixnum_no_flags.
6267
62682006-09-07 00:12  gb
6269
6270        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6271        vice imul).
6272
62732006-09-06 21:18  gb
6274
6275        * compiler/X86/X8664/x8664-arch.lisp: Need
6276        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6277
62782006-09-06 18:37  gb
6279
6280        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6281        strings.
6282
62832006-09-06 18:36  gb
6284
6285        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6286        typecodes.
6287
62882006-09-06 18:36  gb
6289
6290        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6291        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6292
62932006-09-06 18:35  gb
6294
6295        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6296        contains entry for 32-bit BASE-CHAR.
6297
62982006-09-06 18:35  gb
6299
6300        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6301        extracting typecodes.
6302
63032006-09-06 18:34  gb
6304
6305        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6306        32-bit-chars.
6307
63082006-09-06 18:33  gb
6309
6310        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6311        :rcontext pseudo-register name until the target backend is in
6312        place.
6313
63142006-09-06 16:39  gb
6315
6316        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6317        stuff for x8664.
6318
63192006-09-06 16:39  gb
6320
6321        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6322        don't mix!
6323
63242006-09-06 16:38  gb
6325
6326        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6327
63282006-09-06 16:38  gb
6329
6330        * level-1/linux-files.lisp: process input/output: don't assume
6331        8-bit strings.
6332
63332006-09-06 14:42  gb
6334
6335        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6336        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6337        (since that creates confustion when cross-compiling from a
6338        non-poweropen host.)
6339
63402006-09-06 00:08  gb
6341
6342        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6343        8-bit char stuff.
6344
63452006-09-06 00:08  gb
6346
6347        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6348        here.
6349
63502006-09-05 22:49  gb
6351
6352        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6353        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6354
63552006-09-05 22:42  gb
6356
6357        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6358        of a non-simple string, understand char width issues.
6359
63602006-09-05 22:41  gb
6361
6362        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6363
63642006-09-05 22:40  gb
6365
6366        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6367        string type.
6368
63692006-09-05 22:39  gb
6370
6371        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6372
63732006-09-05 22:38  gb
6374
6375        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6376
63772006-09-05 09:13  gb
6378
6379        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6380        32-bit chars, too.
6381
63822006-09-05 09:01  gb
6383
6384        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6385        defaults to 32-bit chars.
6386
63872006-09-05 05:18  gb
6388
6389        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6390
63912006-09-05 05:18  gb
6392
6393        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6394        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6395
63962006-09-05 05:17  gb
6397
6398        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6399        for char size.
6400
64012006-09-05 05:16  gb
6402
6403        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6404        strings.
6405
64062006-09-05 05:15  gb
6407
6408        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6409        lisp_char_code; this may be more portable.
6410
64112006-09-05 05:14  gb
6412
6413        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6414
64152006-09-05 05:13  gb
6416
6417        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6418        8-bit char/strings.
6419
64202006-09-05 05:13  gb
6421
6422        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6423        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6424        the coding system in use.)
6425
64262006-09-05 05:09  gb
6427
6428        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6429        assume 8-bit strings.
6430
64312006-09-05 05:08  gb
6432
6433        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6434
64352006-09-05 05:07  gb
6436
6437        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6438        when #-target-8-bit-chars.
6439
64402006-09-05 05:06  gb
6441
6442        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6443        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6444
64452006-09-05 05:05  gb
6446
6447        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6448        :SIMPLE-STRING case with constant index.
6449
64502006-09-04 17:44  gb
6451
6452        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6453        "unsigned char", and cross fingers.
6454
64552006-09-04 17:38  gb
6456
6457        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6458        lisp_char_code type, use it when printing lisp string in the kernel
6459        debugger.
6460
64612006-09-04 17:28  gb
6462
6463        * level-1/version.lisp: Bump.
6464
64652006-09-04 17:18  gb
6466
6467        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6468        conditionalized backwards in PPC64 %INIT-MISC.
6469
64702006-09-04 17:05  gb
6471
6472        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6473        from the target arch (for bootstrapping.)
6474
64752006-09-04 17:04  gb
6476
6477        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6478        type of rdtab.ttab.
6479       
6480        Don't treat (code-char #xca) as whitespace; do treat (code-char
6481        #xa0) as whitespace.  (The former happens to be how the latter was
6482        encoded in MacRoman.)
6483       
6484        Handle U+<hex> syntax in NAME-CHAR.
6485
64862006-09-04 16:16  gb
6487
6488        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6489        and the char code with #xff to get the low byte.
6490
64912006-09-04 16:15  gb
6492
6493        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6494        and the char code with #xff or 255., not with #x255.  (Cause lots
6495        of wackiness, mostly in readtable initialization.)
6496
64972006-09-04 16:12  gb
6498
6499        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6500        u8->char (which is no more) in %CHAR-CODE.
6501
65022006-09-04 06:04  gb
6503
6504        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6505        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6506
65072006-09-04 06:03  gb
6508
6509        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6510        assertion.
6511
65122006-09-04 03:44  gb
6513
6514        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6515
65162006-09-04 03:43  gb
6517
6518        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6519        crf case of UNBOX-BASE-CHAR.
6520
65212006-09-04 02:30  gb
6522
6523        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6524        error.
6525
65262006-09-04 02:29  gb
6527
6528        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6529        size.
6530
65312006-09-04 02:26  gb
6532
6533        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6534        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6535        CHAR_SIZE_32.
6536
65372006-09-04 02:24  gb
6538
6539        * compiler/PPC/PPC32/ppc32-arch.lisp,
6540        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6541        compiler/PPC/PPC64/ppc64-arch.lisp,
6542        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6543        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6544
65452006-09-04 02:23  gb
6546
6547        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6548        32-bit characters.
6549
65502006-09-04 02:22  gb
6551
6552        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6553
65542006-09-03 16:03  gb
6555
6556        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6557        conditionalize new string types.
6558
65592006-09-03 16:03  gb
6560
6561        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6562        string element size.
6563
65642006-09-03 16:02  gb
6565
6566        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6567        level-0/l0-pred.lisp: Sketch out new string types (read-time
6568        conditionalized.)
6569
65702006-09-03 15:02  gb
6571
6572        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6573        bootstrapping.
6574
65752006-09-03 14:20  gb
6576
6577        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6578
65792006-09-03 13:22  gb
6580
6581        * compiler/: X86/X8664/x8664-backend.lisp,
6582        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6583        :target-8-bit-chars on target features.
6584
65852006-09-03 13:21  gb
6586
6587        * level-0/l0-int.lisp: Some comments/indentation.
6588
65892006-09-03 13:01  gb
6590
6591        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6592        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6593
65942006-09-02 11:24  gb
6595
6596        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6597
65982006-09-02 11:15  gb
6599
6600        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6601        a hex digit.
6602
66032006-09-02 11:11  gb
6604
6605        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6606        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6607       
6608        Don't do the whole msg_server here; just do the exc_server thing.
6609       
6610        Fix a couple of Mach exception-handling bugs; at least one more may
6611        remain.
6612
66132006-09-02 11:07  gb
6614
6615        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6616        pseudo_sigreturn.
6617       
6618        Still get spurious SIGTRAPs.
6619
66202006-09-02 11:06  gb
6621
6622        * lisp-kernel/thread_manager.c: Define some things in terms of
6623        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6624       
6625        sem_wait_forever() does repeated timed waits, since I thought that
6626        Darwin was having trouble interrpting things that waited
6627        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6628
66292006-09-02 11:03  gb
6630
6631        * lisp-kernel/Threads.h: Define some things in terms of
6632        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6633        2006, Darwin still doesn't implement enough POSIX semaphore
6634        functionality to make it possible to avoid the use of Mach
6635        semaphores.
6636
66372006-09-02 11:01  gb
6638
6639        * lib/db-io.lisp:
6640        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6641        involved.
6642
66432006-09-02 11:01  gb
6644
6645        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6646        aren't bogus objects.
6647
66482006-09-02 11:00  gb
6649
6650        * level-1/l1-streams.lisp: Try to avoid things like
6651        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6652
66532006-09-02 10:59  gb
6654
6655        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6656        FORCE-OUTPUT.
6657
66582006-09-02 10:57  gb
6659
6660        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6661        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6662       
6663        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6664        chars.
6665       
6666        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6667
66682006-09-02 10:55  gb
6669
6670        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6671        don't assume 8-bit chars.
6672
66732006-08-28 17:35  gb
6674
6675        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6676        misc_set_single_float_vector.
6677
66782006-08-28 17:01  gb
6679
6680        * xdump/faslenv.lisp: Bump max fasl version.
6681
66822006-08-28 16:48  gb
6683
6684        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6685
66862006-08-28 16:33  gb
6687
6688        * xdump/faslenv.lisp: Bump (max) fasl version.
6689
66902006-08-28 16:30  gb
6691
6692        * xdump/xfasload.lisp: xloader was missing a few new ops.
6693
66942006-08-28 05:34  gb
6695
6696        * xdump/xfasload.lisp: New string stuff here, too.
6697
66982006-08-28 05:28  gb
6699
6700        * level-0/nfasload.lisp: New string stuff.
6701
67022006-08-28 04:57  gb
6703
6704        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6705        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6706
67072006-08-28 04:57  gb
6708
6709        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6710        STREAM-READ-CHAR, since it may be faster in some cases.
6711
67122006-08-28 04:56  gb
6713
6714        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6715        (don't assume ioblock-based stream.)
6716
67172006-08-28 04:55  gb
6718
6719        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6720
67212006-08-28 04:55  gb
6722
6723        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6724         (Maybe not even cosmetic.)
6725
67262006-08-28 04:54  gb
6727
6728        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6729        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6730
67312006-08-28 04:53  gb
6732
6733        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6734
67352006-08-28 04:52  gb
6736
6737        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6738        ?  For how long will limit be 2^8 ?
6739
67402006-08-28 04:51  gb
6741
6742        * level-0/nfasload.lisp: More fasl ops.
6743
67442006-08-28 04:51  gb
6745
6746        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6747        u8-vref stuff.
6748
67492006-08-28 04:50  gb
6750
6751        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6752        not be the best way to do this.
6753
67542006-08-26 13:58  gb
6755
6756        * release-notes.txt: Updated.
6757
67582006-08-26 13:50  gb
6759
6760        * release-notes.txt: Updated.
6761
67622006-08-26 13:50  gb
6763
6764        * darwin-x86-headers64/libc/.cvsignore: Added.
6765
67662006-08-26 03:17  gb
6767
6768        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6769
67702006-08-26 03:12  gb
6771
6772        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6773        problems as always, but avoids problems with Darwin x86-64 ld64
6774        segfaulting for unknown reasons.
6775
67762006-08-26 03:11  gb
6777
6778        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6779        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6780        that we can't just return to after switching off of the alt stack.)
6781
67822006-08-26 03:08  gb
6783
6784        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6785        deciding whether or not to signal overflow.
6786
67872006-08-26 03:08  gb
6788
6789        * level-1/x86-trap-support.lisp: Need an indirection to access
6790        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6791        mcontext64.ss.
6792
67932006-08-26 03:06  gb
6794
6795        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6796        easier to step through.
6797
67982006-08-26 03:05  gb
6799
6800        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6801        in case.
6802
68032006-08-25 20:35  gb
6804
6805        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6806        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6807        REMOVE-AUTO-FLUSH-STREAM.
6808       
6809        Export them, too.
6810
68112006-08-25 20:22  gb
6812
6813        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6814        STREAM-READ-LINE.
6815
68162006-08-25 20:22  gb
6817
6818        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6819        most once but doesn't have to be the last clause.
6820
68212006-08-25 20:21  gb
6822
6823        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6824        INPUT-STREAM.
6825       
6826        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6827
68282006-08-25 20:19  gb
6829
6830        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6831        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6832        so unlock those streams with extreme prejudice before closing them.
6833
68342006-08-25 20:18  gb
6835
6836        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6837        code that assumed that interfered with handling of relative logical
6838        pathnames.
6839
68402006-08-25 20:17  gb
6841
6842        * level-1/l1-events.lisp: Rename EVENT-POLL to
6843        AUTO-FLUSH-INTERACTIVE-STREAMS.
6844       
6845        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6846        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6847        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6848       
6849        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6850       
6851        REMOVE-AUTOFLUSH-STREAM.
6852
68532006-08-25 20:13  gb
6854
6855        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6856        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6857
68582006-08-23 22:59  gb
6859
6860        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6861        SIGFPE.
6862       
6863        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6864
68652006-08-23 22:58  gb
6866
6867        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6868        pretty casual about causing spurious exceptions, so ignore them.
6869
68702006-08-23 22:57  gb
6871
6872        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6873        version, with different signals to be ignored by gdb.
6874
68752006-08-23 22:56  gb
6876
6877        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6878        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6879        Use int $0 instead.
6880
68812006-08-23 22:55  gb
6882
6883        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6884        support; may need more work.
6885
68862006-08-22 02:08  gb
6887
6888        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6889        for printing integers), since it seems to need access to pthread
6890        data (and calling print_lisp_object() from GDB might fail if %gs is
6891        pointing at the lisp TCR.)
6892
68932006-08-22 02:06  gb
6894
6895        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6896        earlier in _SPffcall, before entering foreign context.  (Need to
6897        check PPC version(s) as well.)
6898       
6899        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6900        between foreign code and lisp.
6901
69022006-08-22 02:04  gb
6903
6904        * lisp-kernel/x86-macros.s: Fix a typo.
6905
69062006-08-22 02:04  gb
6907
6908        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6909
69102006-08-22 02:03  gb
6911
6912        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6913        exception handling code.
6914       
6915        Do the DARWIN_GS_HACK things to overload %gs.
6916
69172006-08-22 02:02  gb
6918
6919        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6920        for DarwinX8664.
6921
69222006-08-22 02:01  gb
6923
6924        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6925        should really have tested WORD_SIZE.
6926       
6927        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6928        not be necessary.)
6929       
6930        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6931
69322006-08-22 01:59  gb
6933
6934        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6935        x8664.
6936       
6937        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6938
69392006-08-22 01:58  gb
6940
6941        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6942        FreeBSDX664, DarwinX8664.
6943
69442006-08-22 01:57  gb
6945
6946        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6947        lower seg1addr.
6948       
6949        Something in the (m4-generated) symbolic info in some .s files is
6950        screwy and causes ld64 to segfault; it's currently necesssary to
6951        use "strip -S" on the assembler-generated .o files.
6952
69532006-08-22 01:55  gb
6954
6955        * scripts/openmcl64: Untested changes for Darwinx8664.
6956
69572006-08-22 01:54  gb
6958
6959        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6960        xload-backend-info (compiler target is :darwinx8664, not
6961        :linuxx8664).
6962
69632006-08-22 01:53  gb
6964
6965        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6966        cross-compiling to x86 from x86.
6967
69682006-08-22 01:52  gb
6969
6970        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6971        (not :DARWINPPC-TARGET).
6972
69732006-08-22 01:50  gb
6974
6975        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6976
69772006-08-22 01:50  gb
6978
6979        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6980
69812006-08-22 01:49  gb
6982
6983        * level-1/version.lisp: Bump.
6984
69852006-08-22 01:49  gb
6986
6987        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6988        BASIC-STREAMs.
6989
69902006-08-22 01:48  gb
6991
6992        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
6993        DARWIN-TARGET, not DARWINPPC-TARGET.
6994
69952006-08-22 01:47  gb
6996
6997        * level-0/l0-init.lisp: DarwinX8664 *features*.
6998
69992006-08-22 01:47  gb
7000
7001        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7002        really want to be DARWIN-TARGET.
7003
70042006-08-22 01:46  gb
7005
7006        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7007        DarwinX8664.
7008
70092006-08-22 01:45  gb
7010
7011        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7012        compiling natively.
7013       
7014        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7015
70162006-08-22 01:44  gb
7017
7018        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7019        is defined, even on x86.  Use it if not compiling natively on x86.
7020
70212006-08-20 23:59  gb
7022
7023        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7024
70252006-08-20 23:58  gb
7026
7027        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7028
70292006-08-20 23:58  gb
7030
7031        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7032        prototypes for DARWIN_GS_HACK %gs segment switching.
7033
70342006-08-20 23:57  gb
7035
7036        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7037        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7038       
7039        This isn't so bad, but doing it around every ff-call might be.
7040
70412006-08-20 23:56  gb
7042
7043        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7044
70452006-08-20 23:53  gb
7046
7047        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7048
70492006-08-20 23:51  gb
7050
7051        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7052
70532006-08-20 23:51  gb
7054
7055        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7056        also temporary.
7057
70582006-08-20 23:50  gb
7059
7060        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7061        mcontext64 in x8664 Darwin is temporary.
7062
70632006-08-20 20:35  gb
7064
7065        * library/darwinx664-syscalls.lisp: typo
7066
70672006-08-20 20:35  gb
7068
7069        * library/darwinx8664-syscalls.lisp: spell name right
7070
70712006-08-20 17:10  gb
7072
7073        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7074
70752006-08-20 17:10  gb
7076
7077        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7078        (do other things still use read-time conditionals ?)
7079
70802006-08-20 17:09  gb
7081
7082        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7083        setup syscall mask.
7084
70852006-08-20 17:08  gb
7086
7087        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7088        well.
7089
70902006-08-20 17:06  gb
7091
7092        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7093        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7094        word-size issues.)
7095
70962006-08-20 17:03  gb
7097
7098        * library/darwinppc-syscalls.lisp: Mask for PPC.
7099
71002006-08-20 17:02  gb
7101
7102        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7103        level-1/linux-files.lisp: Syscall conditionalization.
7104
71052006-08-20 17:01  gb
7106
7107        * level-1/l1-streams.lisp: Syscall conditionalization.
7108       
7109        SELECTION-INPUT-STREAM created with :sharing :lock.
7110
71112006-08-20 17:00  gb
7112
7113        * examples/objc-runtime.lisp: Fencepost in
7114        POINTER-IN-CFSTRING-SECTION-P.
7115
71162006-08-20 16:16  gb
7117
7118        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7119
71202006-08-18 09:50  gb
7121
7122        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7123        x8664.  Should do this on PPC as well, and should probably offer
7124        some backward-compatible behavior for reader.
7125
71262006-08-18 09:47  gb
7127
7128        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7129        backend a little.
7130       
7131        Explicily define lisp-context-register slot in each backend (%gs
7132        for those imolementations that follow the standard ABI, %fs for
7133        Darwin.)
7134
71352006-08-18 09:44  gb
7136
7137        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7138        necessary.
7139
71402006-08-18 09:43  gb
7141
7142        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7143        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7144        slot.
7145
71462006-08-18 09:42  gb
7147
7148        * compiler/backend.lisp: Backend now has a lisp-context-register
7149        slot.
7150
71512006-08-18 09:42  gb
7152
7153        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7154
71552006-08-18 09:40  gb
7156
7157        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7158        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7159        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7160        and play like the other children.
7161
71622006-08-18 09:29  gb
7163
7164        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7165        code from the PPC version and tweak it a little; needs more work.
7166
71672006-08-18 09:27  gb
7168
7169        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7170        conditionalization.
7171
71722006-08-18 09:25  gb
7173
7174        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7175       
7176        Generate an equate for HAVE_TLS.
7177
71782006-08-18 09:23  gb
7179
7180        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7181
71822006-08-18 09:19  gb
7183
7184        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7185        absolute jumps, prefers slower ones.
7186       
7187        Move lock prefixes to their own lines, to satisfy you-know-who.
7188       
7189        If we don't have thread-local-storage (TLS), it's hard to avoid the
7190        get_tcr() call on each calback.
7191
71922006-08-18 09:13  gb
7193
7194        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7195        that we HAVE_TLS.
7196
71972006-08-17 10:41  phil
7198
7199        * examples/FFI/:
7200        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7201        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7202        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7203        Using-basic-calls-and-types/Readme.rtf,
7204        Using-basic-calls-and-types/typetest-compile.sh,
7205        Using-basic-calls-and-types/typetest.c,
7206        Using-basic-calls-and-types/typetest.lisp: Initial version
7207
72082006-08-17 10:40  phil
7209
7210        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7211        [no log message]
7212
72132006-08-08 13:07  gb
7214
7215        * lisp-kernel/darwinx8664/Makefile: New file.
7216
72172006-08-08 13:07  gb
7218
7219        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7220
72212006-08-08 13:06  gb
7222
7223        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7224
72252006-08-08 13:05  gb
7226
7227        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7228        instructions on the same line as the locked instruction.  (Maybe
7229        there's a better way to do this, than just pretending that lock is
7230        a standalone instruction, but that lock instruction does seem to be
7231        treated as a prefix.)
7232
72332006-08-08 13:03  gb
7234
7235        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7236        dlfcn) on Darwin.
7237
72382006-08-08 13:02  gb
7239
7240        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7241        doesn't define mcontext64, but lots of other things reference it.
7242        #define it here for now, but that'll likely break when the headers
7243        are fixed.
7244
72452006-08-08 12:58  gb
7246
7247        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7248
72492006-08-08 12:58  gb
7250
7251        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7252        x8664/Darwin.
7253
72542006-07-29 08:41  gb
7255
7256        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7257         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7258        needs READ/WRITE- SEQUENCE support.
7259
72602006-07-29 07:39  gb
7261
7262        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7263        lock.  TODO: evaluate whether resources are worthwhile;  used for
7264        string-output-stream allocation and DELETE-DUPLICATES.
7265
72662006-07-29 06:27  gb
7267
7268        * library/lispequ.lisp: Resources aren't thread-private, need
7269        locks.
7270
72712006-07-29 06:26  gb
7272
7273        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7274        BASIC-STREAMs.
7275
72762006-07-29 06:26  gb
7277
7278        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7279        default.
7280
72812006-07-29 06:25  gb
7282
7283        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7284        been used in 10 or 12 years.
7285
72862006-07-29 03:40  gb
7287
7288        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7289
72902006-07-29 03:40  gb
7291
7292        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7293        for now.
7294
72952006-07-29 03:39  gb
7296
7297        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7298        makes one more slot in BASIC-FILE-STREAM.
7299
73002006-07-28 04:17  gb
7301
7302        * level-1/version.lisp: Bump.
7303
73042006-07-28 04:15  gb
7305
7306        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7307        in IOBLOCK.
7308
73092006-07-28 01:17  gb
7310
7311        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7312
73132006-07-28 01:16  gb
7314
7315        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7316
73172006-07-28 00:58  gb
7318
7319        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7320        output.
7321       
7322        (SLIME probably faces the same issue; should probably do something
7323        in the auto-flush case.  Of course, it's hard to know just what to
7324        do in that case. or at least what to do safely in that case.)
7325
73262006-07-28 00:49  gb
7327
7328        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7329        FUNDAMENTAL-FILE-STREAM.
7330
73312006-07-28 00:49  gb
7332
7333        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7334
73352006-07-28 00:48  gb
7336
7337        * library/lispequ.lisp: Need an explicit
7338        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7339
73402006-07-28 00:47  gb
7341
7342        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7343
73442006-07-25 03:48  gb
7345
7346        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7347
73482006-07-24 04:55  gb
7349
7350        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7351        BASIC-STREAMs.
7352
73532006-07-24 04:55  gb
7354
7355        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7356        appear.
7357
73582006-07-24 04:51  gb
7359
7360        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7361
73622006-07-24 02:43  gb
7363
7364        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7365        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7366        implementation of it (and BASIC-FILE-STREAM soon will be.)
7367
73682006-07-23 03:05  gb
7369
7370        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7371
73722006-07-23 03:03  gb
7373
7374        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7375        and is inlined.
7376       
7377        Some bug fixes; STREAM class no longer has slots.
7378       
7379        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7380        variants; fix read-byte botch (should vector according to
7381        element-type.)
7382
73832006-07-23 02:54  gb
7384
7385        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7386        STREAM-IOBLOCK now takes 2 required args.
7387
73882006-07-23 02:54  gb
7389
7390        * level-1/version.lisp: Bump.
7391
73922006-07-23 02:53  gb
7393
7394        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7395        like.
7396
73972006-07-23 02:53  gb
7398
7399        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7400       
7401        Likewise WITH-EAGAIN.
7402
74032006-07-23 01:12  gb
7404
7405        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7406        l1-sockets.lisp: Fix a few botches.
7407       
7408        :private arg to stream creation primitives replaced with :sharing,
7409        which can have values:
7410       
7411         :private (the default; stream can only be accessed by the creating
7412        thread)
7413         :lock  (the old, often slow, default); most accesses to stream
7414        involve locking
7415         :nil or :external (stream code doesn't enforce exclusion).
7416
74172006-07-22 23:57  gb
7418
7419        * level-1/l1-streams.lisp: Bootstrapping stuff.
7420       
7421        Move along, nothing to see here.
7422
74232006-07-20 03:43  gb
7424
7425        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7426        l1-sysio.lisp: First (rough) cut at making streams "private"
7427        (effectively always locked by the "owning" thread) to reduce some
7428        locking overhead.  More to come, some of which will be a little
7429        tricky to bootstrap.
7430
74312006-07-20 01:09  gb
7432
7433        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7434        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7435        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7436
74372006-07-20 01:09  gb
7438
7439        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7440
74412006-07-20 01:08  gb
7442
7443        * level-1/version.lisp: Bump.
7444
74452006-07-20 01:07  gb
7446
7447        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7448         A little tricky to bootstrap.
7449
74502006-07-20 01:05  gb
7451
7452        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7453        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7454        (istruct-based) lisp-thread accessors.
7455
74562006-07-20 01:02  gb
7457
7458        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7459        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7460        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7461        BASIC-STREAM.
7462
74632006-07-15 15:02  gb
7464
7465        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7466        IMPOSSIBLE-NUMBER condition :REPORT method.
7467
74682006-07-15 15:00  gb
7469
7470        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7471        simple vector operations unless we're sure that the vector is a
7472        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7473        leaping into the simple-typed-vector case when the element-type was
7474        known but the vector wasn't known to be SIMPLE.
7475
74762006-07-14 05:57  gb
7477
7478        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7479
74802006-07-13 16:01  gb
7481
7482        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7483        know about FIXNUM arrays.
7484
74852006-07-11 14:23  gb
7486
7487        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7488        (2-address instructions) in natural logical, arithmetic operations.
7489
74902006-07-05 02:38  gb
7491
7492        * release-notes.txt: Update.
7493
74942006-07-05 02:22  gb
7495
7496        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7497        its removal needs to be better publicized.
7498
74992006-07-04 22:24  gb
7500
7501        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7502        PROGRAM arg to RUN-PROGRAM.
7503
75042006-07-04 22:23  gb
7505
7506        * level-1/version.lisp: Bump.
7507
75082006-06-29 02:11  gb
7509
7510        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7511        image-abi-version.
7512
75132006-06-28 05:24  gb
7514
7515        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7516        pointer on DarwinPPC32 (at the very least, that platform's
7517        xFindSymbol gets confused by anything but a null pointer/global
7518        lookup.)
7519
75202006-06-28 05:09  gb
7521
7522        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7523        "Alpha", which may be a bit generous (pretty regular deadlock,
7524        random thread creation errors, other bugs.)
7525
75262006-06-28 05:07  gb
7527
7528        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7529        x86-64 version.
7530
75312006-06-28 04:04  gb
7532
7533        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7534        identifying the cause of XMM FP exceptions.  Try to do that by
7535        looking at MXCSR bits.
7536
75372006-06-28 04:03  gb
7538
7539        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7540        indicate error return.
7541
75422006-06-28 04:03  gb
7543
7544        * level-1/: l1-sockets.lisp, linux-files.lisp,
7545        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7546
75472006-06-28 04:02  gb
7548
7549        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7550        breakpoint.
7551
75522006-06-27 18:08  gb
7553
7554        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7555
75562006-06-27 17:30  gb
7557
7558        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7559
75602006-06-27 17:27  gb
7561
7562        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7563        portable; possibly break it completely ...
7564
75652006-06-27 08:55  gb
7566
7567        * lisp-kernel/x86-exceptions.c: map the altstack
7568        read/write/execute.
7569
75702006-06-27 08:54  gb
7571
7572        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7573        FreeBSD.
7574
75752006-06-27 08:54  gb
7576
7577        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7578        <pthread_np.h>
7579
75802006-06-27 08:53  gb
7581
7582        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7583        :freebsdx8664.
7584
75852006-06-27 08:53  gb
7586
7587        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7588        testing.)
7589       
7590        Don't conditionalize as much code. Indices/offsets are
7591        platform-specific, but accessors defiend in terms of them needn't
7592        be.
7593
75942006-06-27 08:51  gb
7595
7596        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7597        comment.)
7598
75992006-06-27 08:50  gb
7600
7601        * level-0/l0-init.lisp: More freebsd x8664 features.
7602
76032006-06-27 08:50  gb
7604
7605        * scripts/openmcl64: Update for FreeBSD/amd64.
7606
76072006-06-27 08:47  gb
7608
7609        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7610        :freebsdx8664-target as a target-specific-feature.
7611
76122006-06-27 05:05  gb
7613
7614        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7615        freebsd8664/elf_x86_64.x: directory rename
7616
76172006-06-27 04:59  gb
7618
7619        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7620
76212006-06-27 04:47  gb
7622
7623        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7624
76252006-06-27 04:46  gb
7626
7627        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7628        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7629
76302006-06-27 04:45  gb
7631
7632        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7633       
7634        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7635
76362006-06-27 04:44  gb
7637
7638        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7639        suspend_resume_handler.
7640
76412006-06-27 04:44  gb
7642
7643        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7644        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7645
76462006-06-27 04:43  gb
7647
7648        * lisp-kernel/imports.s: Don't import metering-control; do import
7649        get_r_debug().
7650
76512006-06-27 04:42  gb
7652
7653        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7654        word-size stuff (here and in other versions.)
7655
76562006-06-27 04:42  gb
7657
7658        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7659        FreeBSD.
7660
76612006-06-27 04:39  gb
7662
7663        * lib/foreign-types.lisp: Signed char nonsense (should use target
7664        ftd, not reader macros here.)
7665
76662006-06-27 04:38  gb
7667
7668        * lib/compile-ccl.lisp: Some FreeBSD support.
7669
76702006-06-27 04:36  gb
7671
7672        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7673        Some FreeBSD changes/conditionalization. Maybe not enough.
7674
76752006-06-27 04:35  gb
7676
7677        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7678
76792006-06-27 04:34  gb
7680
7681        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7682
76832006-06-27 04:34  gb
7684
7685        * level-0/l0-io.lisp: FreeBSD syscalls.
7686
76872006-06-27 04:33  gb
7688
7689        * level-0/l0-init.lisp: Some FreeBSD features.
7690
76912006-06-27 04:33  gb
7692
7693        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7694        changes.
7695       
7696        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7697        and test.
7698       
7699        Now depends on an imported lisp-kernel function on ELF platforms
7700        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7701
77022006-06-27 04:30  gb
7703
7704        * level-0/.cvsignore: Ignore *fsl.
7705
77062006-06-27 04:29  gb
7707
7708        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7709        in freebsd backend.
7710
77112006-06-27 04:27  gb
7712
7713        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7714        metering-control; do import get-r-debug (for Elf shared libraries.)
7715       
7716        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7717
77182006-06-27 04:26  gb
7719
7720        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7721        Don't import metering-control; do import get-r-debug (for Elf
7722        shared libraries.)
7723
77242006-06-27 04:26  gb
7725
7726        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7727
77282006-06-26 16:38  gb
7729
7730        * compiler/X86/X8664/x8664-vinsns.lisp:
7731        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7732        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7733        constant #xffff000000000000 come from ?
7734
77352006-06-26 16:35  gb
7736
7737        * compiler/X86/x862.lisp: Fix some indentation.
7738
77392006-06-25 20:32  gb
7740
7741        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7742        change initialiation of x8664 foreign-type stuff.
7743
77442006-06-25 20:31  gb
7745
7746        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7747
77482006-06-23 19:52  gb
7749
7750        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7751        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7752
77532006-06-23 19:28  gb
7754
7755        * release-notes.txt: Update some.
7756
77572006-06-23 19:11  gb
7758
7759        * examples/gtk2-clock.lisp: New file.
7760
77612006-06-23 18:56  gb
7762
7763        * level-1/version.lisp: Bump.
7764
77652006-06-23 18:52  gb
7766
7767        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7768
77692006-06-22 13:39  gb
7770
7771        * x86-headers64/gnome2/C/.cvsignore: new
7772
77732006-06-22 13:36  gb
7774
7775        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7776
77772006-06-22 13:33  gb
7778
7779        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7780        gnome2/.cvsignore: new
7781
77822006-06-22 13:30  gb
7783
7784        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7785
77862006-06-22 13:28  gb
7787
7788        * level-1/version.lisp: Bump.
7789
77902006-06-21 15:15  gb
7791
7792        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7793        ppc-spentry.s: Define new string subtags; handle them in ppc64
7794        misc_ref/misc_set.
7795
77962006-06-21 15:14  gb
7797
7798        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7799        versions) to handle FIXNUM vectors, new UCS4 strings.
7800
78012006-06-21 15:14  gb
7802
7803        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7804        versions) to handle FIXNUM vectors, new UCS4 strings.
7805
78062006-06-21 15:12  gb
7807
7808        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7809        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7810        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7811
78122006-06-21 15:11  gb
7813
7814        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7815
78162006-06-21 15:11  gb
7817
7818        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7819        wasn't updated with the introduction of fixnum vectors, (unused)
7820        UCS4 "new"strings.
7821
78222006-06-16 03:50  gb
7823
7824        * examples/objc-support.lisp: Re-compute static NSString info after
7825        opening an extension framework.
7826
78272006-06-16 03:45  gb
7828
7829        * examples/webkit.lisp: Use new functions for augmenting
7830        interfaces, loading framework.
7831
78322006-06-16 03:43  gb
7833
7834        * examples/objc-runtime.lisp: Juggle things around so that add-on
7835        framework bundles get loaded on appication re-launch.
7836       
7837        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7838        since (a) it may not be there, or may not be where we can find it
7839        yet and (b) it's probably more reasonable to do that than it would
7840        be to teach CLOS about classes that're "discovered" when the
7841        appication's launched on a newer OS release than it was saved on.
7842
78432006-06-16 03:39  gb
7844
7845        * examples/cocoa-application.lisp: Touch tha application bundle
7846        before saving an image into it.  That -may- convincve
7847        LaunchServices to do the right thing.
7848
78492006-06-16 03:38  gb
7850
7851        * examples/objc-support.lisp: Reload any addon/framework bundles
7852        that had been loaded before the image was saved when starting a
7853        bundled application.
7854       
7855        Juggle things around, so that that works (need to be able to use
7856        low-level bridge features early.)
7857
78582006-06-16 03:36  gb
7859
7860        * lib/db-io.lisp: Disable the #? reader macro.
7861
78622006-06-14 15:42  gb
7863
7864        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7865        lfun-bits.
7866
78672006-06-12 20:24  gb
7868
7869        * lib/ppc-backtrace.lisp: PPC version of
7870        %find-register-argument-value had the same sort of fencepost as the
7871        x86-64 version had a few days ago.
7872
78732006-06-10 23:52  gb
7874
7875        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7876        its GENERIC-FUNCTION-LAMBDA-LIST.
7877
78782006-06-10 23:51  gb
7879
7880        * level-1/l1-clos.lisp: Give reader/writer method args more
7881        descriptive names. (Barely more descriptive ...)
7882
78832006-06-10 19:25  gb
7884
7885        * level-1/l1-clos-boot.lisp: Arrgh.  In
7886        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7887        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7888        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7889       
7890        This was keeping non-standard instances - like ObjC classes and
7891        metaclasses - from having some of their slots initialized
7892        correctly.
7893
78942006-06-10 19:22  gb
7895
7896        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7897        objc-metaclass: don't die if the class is unnamed (makes it easier
7898        to print classes for debugging during initialization.)
7899
79002006-06-10 13:05  gb
7901
7902        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7903        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7904
79052006-06-08 05:01  gb
7906
7907        * release-notes.txt: Update a bit.
7908
79092006-06-08 03:56  gb
7910
7911        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7912        image-abi-version.
7913
79142006-06-08 03:46  gb
7915
7916        * xdump/faslenv.lisp: Bump (min) fasl version.
7917
79182006-06-08 03:35  gb
7919
7920        * lib/nfcomp.lisp: Bump (current) fasl-version.
7921
79222006-06-08 03:28  gb
7923
7924        * lisp-kernel/linuxx8664/Makefile: -O2.
7925
79262006-06-08 03:26  gb
7927
7928        * xdump/faslenv.lisp: Bump (max) fasl version.
7929
79302006-06-08 03:18  gb
7931
7932        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7933        doubt and claim that it's a beta.
7934
79352006-06-08 03:18  gb
7936
7937        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7938
79392006-06-08 03:17  gb
7940
7941        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7942        options; enable -O2.
7943
79442006-06-08 02:55  gb
7945
7946        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7947        Handle suspend (and maybe someday resume, again) signals on the
7948        altstack, since we don't really want a signal context in the middle
7949        of the tagged lisp stack ...
7950
79512006-06-08 02:52  gb
7952
7953        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7954        PLATFORM-exceptions.c; some constants/prototypes moved to
7955        Threads.h.
7956
79572006-06-08 02:51  gb
7958
7959        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7960        via install_signal_handler(); thread_signal_setup() moved here, to
7961        do that installation.
7962
79632006-06-08 02:50  gb
7964
7965        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7966       
7967        Don't call (or define) prepare_for_the_worst(), which is kind of
7968        too bad ...
7969
79702006-06-08 02:49  gb
7971
7972        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7973
79742006-06-08 01:11  gb
7975
7976        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7977        let OPTIMIZE proclamations persist beyond the LOAD.
7978
79792006-06-07 21:45  gb
7980
7981        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7982
79832006-06-07 21:38  gb
7984
7985        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7986        MMX regs.  Do maintain them in TCR.
7987
79882006-06-07 21:37  gb
7989
7990        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
7991        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
7992        temporary (old tsp), finish frame by storing into tcr.save_tsp.
7993
79942006-06-07 21:34  gb
7995
7996        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
7997
79982006-06-07 21:33  gb
7999
8000        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8001        %stack_temp.
8002
80032006-06-07 21:32  gb
8004
8005        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8006
80072006-06-07 21:30  gb
8008
8009        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8010        now.
8011
80122006-06-07 21:30  gb
8013
8014        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8015        (since it no longer exists ...).  Use %stack-temp in some cases.
8016
80172006-06-07 21:29  gb
8018
8019        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8020        %stack-temp is a symbolic name for an MMX register that can be used
8021        for (e.g.) linking frames on the temp/foreign stacks (or for any
8022        other purpose ...)
8023
80242006-06-07 15:29  gb
8025
8026        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8027        tcr.next_tsp in sync with %next_tsp Check to ensure that
8028        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8029        allocating on the temp stack.  (This will soon change, so that %tsp
8030        and %next_tsp will not be canonical and the tcr fields are, then
8031        will change so that %tsp and %next_tsp will cease to exist.)
8032
80332006-06-07 15:25  gb
8034
8035        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8036
80372006-06-07 15:25  gb
8038
8039        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8040        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8041        a temporary.
8042
80432006-06-07 15:23  gb
8044
8045        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8046        don't need FP regs for this.  (They're sometimes invalid and
8047        sometimes missing, which is the point of recent changes.)
8048
80492006-06-07 15:21  gb
8050
8051        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8052        to %Rnext_tsp to avoid potential m4 lossage.
8053
80542006-06-07 15:20  gb
8055
8056        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8057
80582006-06-07 15:20  gb
8059
8060        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8061
80622006-06-07 15:19  gb
8063
8064        * level-1/version.lisp: Bump.
8065
80662006-06-07 15:19  gb
8067
8068        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8069
80702006-06-07 15:18  gb
8071
8072        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8073        foreign-sp register (though some code still uses %mm5 as a
8074        temporary, the "canonical" foreign SP is maintained in the TCR.)
8075
80762006-06-07 04:52  gb
8077
8078        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8079        frame, get the foreign SP out of the TCR.
8080
80812006-06-07 04:52  gb
8082
8083        * compiler/X86/X8664/x8664-vinsns.lisp,
8084        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8085        maintain the foreign sp in both the TCR and the MMX register, but
8086        consider the TCR version to be canonical.
8087
80882006-06-07 02:46  gb
8089
8090        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8091        %tsp MMX register doesn't match the value in the tcr, trap.
8092        Likewise for %foreign-sp.
8093
80942006-06-07 01:29  gb
8095
8096        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8097        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8098        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8099       
8100        (The idea is to keep the temp/foreign stack pointers in the tcr and
8101        only use the MMX registers as temporaries, since it seems that
8102        handlers for asynchronous signals can't count on the MMX register
8103        values in the signal context being correct.  This seems to either
8104        be a Linux kernel bug or ill-considered if it's intentional
8105        behavior, but it seems better to work around it this way.)
8106       
8107        This is just an early step in bootstrapping that change; it's being
8108        checked into CVS so that it doesn't get lost (and so that I can
8109        recover to this point if/when I hose things on a later step.)
8110
81112006-06-07 01:24  gb
8112
8113        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8114        tcr.
8115
81162006-06-07 01:22  gb
8117
8118        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8119        next_tsp slot to the tcr.
8120
81212006-06-06 04:25  gb
8122
8123        * lib/ppc-metering.lisp: no hope
8124
81252006-06-06 04:22  gb
8126
8127        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8128        frame (cfp argument) could be an exception callback frame (xcf-p
8129        may be true of it), in which case the saved register value is in
8130        the xcf.xp context.  (Basically, this means look at the first frame
8131        if it's an xcf, otherwise skip it and start with the child.)
8132
81332006-06-06 01:48  gb
8134
8135        * compiler/X86/x86-lapmacros.lisp,
8136        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8137        Using imul to box fixnums is smaller and seems to be faster than
8138        using lea with a scale factor.
8139
81402006-06-05 23:56  gb
8141
8142        * lisp-kernel/thread_manager.c: I don't think that
8143        suspend_resume_handler wants to have suspend signals unmasked, does
8144        it ?
8145
81462006-06-05 12:43  gb
8147
8148        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8149
81502006-06-03 03:11  gb
8151
8152        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8153        last catch frame, do skip others (test was backwards.  As it
8154        probably had been in the single-value case at one point.)
8155
81562006-06-02 03:48  gb
8157
8158        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8159        *terminal-io*; do print it to *trace-output*.
8160
81612006-06-01 20:20  gb
8162
8163        * level-0/l0-array.lisp: There's a T in subtag.
8164
81652006-06-01 20:17  gb
8166
8167        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8168       
8169        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8170       
8171        correctly.
8172
81732006-06-01 20:16  gb
8174
8175        * compiler/nx0.lisp: Defvars for global optimization quantities
8176        moved to level-0.
8177
81782006-06-01 20:15  gb
8179
8180        * level-1/l1-files.lisp: Bind the variables which hold global
8181        compiler optimization quantities, since people persist in doing
8182        things like:
8183       
8184        (declaim (optimize
8185        <something-that-they-probably-think-has-local-effects>))
8186       
8187        without bothering to use EVAL-WHEN or otherwise thinking very
8188        clearly.
8189       
8190        Note that this means that anyone who wanted such a declamation to
8191        have persistent global effects is now SOL.  Blame whoever wrote
8192        (for instance) clx/glx.lisp.
8193
81942006-06-01 20:11  gb
8195
8196        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8197        be referenced early in the cold load.
8198
81992006-06-01 13:13  gb
8200
8201        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8202        pointer to ENCODED-GPR-LISP if we have to get the register value
8203        from an exception frame.
8204
82052006-05-30 19:27  gwking
8206
8207        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8208        1.98)
8209
82102006-05-30 17:12  gb
8211
8212        * level-1/version.lisp: bump again.
8213
82142006-05-30 16:31  gb
8215
8216        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8217        ensure that tcr.xframe is updated from the catch frame (a) in all
8218        execution paths and (b) before RSP is updated.
8219
82202006-05-30 16:30  gb
8221
8222        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8223        vectors.
8224
82252006-05-30 16:29  gb
8226
8227        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8228
82292006-05-30 16:29  gb
8230
8231        * release-notes.txt: Update some more ...
8232
82332006-05-30 16:23  gb
8234
8235        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8236        Apparently.
8237
82382006-05-30 16:15  gb
8239
8240        * release-notes.txt: updated
8241
82422006-05-30 01:58  gb
8243
8244        * level-1/version.lisp: Bump.
8245
82462006-05-30 01:48  gb
8247
8248        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8249        made copies of the signal context and siginfo on the foreign stack,
8250        don't pass the originals to interrupt_handler().
8251       
8252        (altstack_interrupt_handler() looks suspiciously like
8253        altstack_signal_handler(), which probably had the same bug a few
8254        months ago ...)
8255       
8256        Since the alternate signal stack (as we use it) isn't reentrant,
8257        the next signal (perhaps a suspend signal) overwrote the context.
8258        Which is one reason to have made a copy in the first place ...
8259
82602006-05-30 01:43  gb
8261
8262        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8263        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8264        timeout is a good idea here, make sure that the timeout isn't
8265        fooled by #$EINTR.
8266
82672006-05-30 01:39  gb
8268
8269        * level-1/linux-files.lisp: Rename the old
8270        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8271        since it basically waits indefinitely.
8272       
8273        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8274        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8275        a "timed wait" that handles interruptions, etc. when the caller
8276        just has a "raw" (native) semaphore.
8277       
8278        Change callers, endure warnings.  New binaries soon.
8279
82802006-05-30 01:36  gb
8281
8282        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8283        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8284
82852006-05-29 22:34  gb
8286
8287        * lisp-kernel/x86-exceptions.c: The
8288        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8289        too small ...
8290
82912006-05-29 14:03  gb
8292
8293        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8294        syscall-based getcwd (it doesn't work as it once did/is documented
8295        to on linuxx8664); use the library function on all platforms.
8296
82972006-05-29 14:02  gb
8298
8299        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8300        processing interrupt.
8301
83022006-05-28 17:01  gb
8303
8304        * lisp-kernel/ppc-exceptions.c: If we handle a
8305        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8306       
8307        Back out of the hack that tried to work around a Darwin bug (FP
8308        exception flags were cleared in the MSR after a thread had been
8309        interrupted via pthread_kill()), since the fix seems not to be
8310        GC-safe.
8311       
8312        Add some debugging code to print when the exception lock is
8313        acquired/released.
8314
83152006-05-28 01:10  gb
8316
8317        * level-1/solaris-files.lisp: long gone
8318
83192006-05-23 20:25  gb
8320
8321        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8322
83232006-05-22 22:59  gb
8324
8325        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8326        C/.cvsignore: New file.
8327
83282006-05-22 22:57  gb
8329
8330        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8331        thread to suspend itself.
8332
83332006-05-22 22:57  gb
8334
8335        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8336        SINGLE-FLOAT constants.
8337       
8338        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8339        64-bit arg word, regardless of whether they're also passed in
8340        f1-f13 as well.
8341
83422006-05-22 22:55  gb
8343
8344        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8345        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8346        64-bit word.
8347
83482006-05-22 22:54  gb
8349
8350        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8351        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8352
83532006-05-22 22:53  gb
8354
8355        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8356        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8357        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8358        access them.
8359
83602006-05-22 03:53  gb
8361
8362        * level-1/version.lisp: Bump.
8363
83642006-05-22 03:32  gb
8365
8366        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8367
83682006-05-22 03:31  gb
8369
8370        * compiler/X86/x862.lisp: Numeric contagion on binops,
8371        fixnum->float.
8372
83732006-05-22 03:29  gb
8374
8375        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8376        well.
8377
83782006-05-22 03:28  gb
8379
8380        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8381        earlier when creating a stack frame inline.  Doesn't seem to affect
8382        latency much.
8383
83842006-05-22 03:27  gb
8385
8386        * compiler/X86/x862.lisp: Comment formatting on the first line of
8387        the file.
8388
83892006-05-22 03:26  gb
8390
8391        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8392        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8393
83942006-05-21 07:34  gb
8395
8396        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8397
83982006-05-21 07:32  gb
8399
8400        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8401        numeric-contagion stuff for arithmetic ops.
8402
84032006-05-21 07:31  gb
8404
8405        * compiler/nx1.lisp: Use div2 for /-2.
8406
84072006-05-21 07:31  gb
8408
8409        * compiler/nx0.lisp: Binop numeric contagion.
8410
84112006-05-21 06:49  gb
8412
8413        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8414
84152006-05-21 06:49  gb
8416
8417        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8418        weird, just wrong.
8419
84202006-05-21 06:17  gb
8421
8422        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8423        SIMPLE-FIXNUM-VECTORs.
8424
84252006-05-21 06:16  gb
8426
8427        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8428        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8429
84302006-05-21 06:16  gb
8431
8432        * compiler/PPC/PPC32/ppc32-arch.lisp,
8433        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8434        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8435        vector stuff.
8436
84372006-05-21 06:15  gb
8438
8439        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8440       
8441        Fixnum vector vref/vset.
8442
84432006-05-21 06:15  gb
8444
8445        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8446        %fixnum-to-double.
8447
84482006-05-21 06:14  gb
8449
8450        * compiler/nx0.lisp: More operator result types.
8451
84522006-05-21 04:35  gb
8453
8454        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8455        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8456        specialized FIXNUM array-element-type into type system, CLOS.
8457        (Knock wood.)
8458
84592006-05-21 04:34  gb
8460
8461        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8462        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8463
84642006-05-21 04:33  gb
8465
8466        * compiler/X86/X8664/x8664-arch.lisp,
8467        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8468        subtag for :fixnum-vector.
8469
84702006-05-21 04:32  gb
8471
8472        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8473        indices correctly.
8474       
8475        64-bit vset, vref: handle :FIXNUM-VECTOR.
8476
84772006-05-21 00:22  gb
8478
8479        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8480
84812006-05-20 18:13  gb
8482
8483        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8484        stack args) without restoring/re-saving NVRs.
8485
84862006-05-19 15:07  gb
8487
8488        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8489        completion semaphore (when :WAIT is true) happens inside an
8490        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8491        interrupts.
8492
84932006-05-19 15:06  gb
8494
8495        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8496        for SEMAPHORE.
8497
84982006-05-19 12:23  gwking
8499
8500        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8501        Also changed it so that it displays all items before trying to get
8502        an answer.
8503
85042006-05-19 12:00  gwking
8505
8506        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8507
85082006-05-19 11:57  gwking
8509
8510        * .cvsignore: The *fsl wasn't cutting it for me...
8511
85122006-05-19 11:50  gb
8513
8514        * level-1/version.lisp: Bump.
8515
85162006-05-19 11:49  gb
8517
8518        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8519        syscall definitions so that it can be moused on.
8520
85212006-05-19 11:48  gb
8522
8523        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8524        .SPeabi-syscall -> .SPsyscall.
8525
85262006-05-19 11:45  gb
8527
8528        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8529        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8530        does indeed burn cache lines, but going out of line isn't cheap
8531        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8532        are in fact fixnums and no overflow is involved - seems to be about
8533        2X faster when inlined this way.  Not sure if that'll be the case
8534        on PPC.)
8535
85362006-05-19 11:40  gb
8537
8538        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8539        stuff.
8540
85412006-05-18 14:47  gb
8542
8543        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8544        in all places that do so ...), update tcr.xframe from
8545        catch_frame.xframe on all execution paths (in particular, do so
8546        before SP is restored from the catch_frame, since a tcr.xframe
8547        "beyond" SP is clearly bogus.)
8548
85492006-05-18 02:34  gb
8550
8551        * level-1/version.lisp: Bump.
8552
85532006-05-17 23:12  gb
8554
8555        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8556        for PPC, too.
8557
85582006-05-17 22:53  gb
8559
8560        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8561        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8562        if any unmasked exceptions were raised before even calling this ...
8563
85642006-05-17 22:51  gb
8565
8566        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8567        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8568
85692006-05-17 22:50  gb
8570
8571        * compiler/X86/x862.lisp: Work harder to find acode types in some
8572        cases.
8573
85742006-05-17 22:50  gb
8575
8576        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8577        registers in OP-REG.
8578       
8579        Don't want to use RET very often if at all, but disassembler should
8580        treat as as a :JUMP.
8581
85822006-05-17 22:48  gb
8583
8584        * compiler/nxenv.lisp: MUL2, DIV2.
8585
85862006-05-17 22:48  gb
8587
8588        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8589        type-inferencing (or, more accurately, paying a little more
8590        attention here and there.)
8591
85922006-05-12 20:40  gwking
8593
8594        * examples/addressbook.lisp: added examples/addressbook.lisp
8595
85962006-05-11 18:42  gb
8597
8598        * level-1/l1-application.lisp: Stop processing command-line
8599        arguments when "--" is encountered; anything after that "--" is
8600        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8601
86022006-05-11 18:42  gb
8603
8604        * lib/ccl-export-syms.lisp: Export command-line stuff
8605
86062006-05-11 18:40  gb
8607
8608        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8609        method for LOCKs.
8610
86112006-05-11 18:39  gb
8612
8613        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8614        are base-strings (and always have been in OpenMCL.)
8615
86162006-05-11 18:37  gb
8617
8618        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8619
86202006-05-11 08:11  gwking
8621
8622        * lib/db-io.lisp: Added a check that the directory exists to
8623        fid-open-output in order to make it clearer what is wrong when one
8624        is unable to rebuild interface files because they are trying to do
8625        so in a place without FFI files to read!
8626
86272006-05-11 05:14  gb
8628
8629        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8630        Bump lisp-implementation-version, image-abi-version.
8631
86322006-05-11 05:04  gb
8633
8634        * xdump/faslenv.lisp: Bump (min) fasl version.
8635
86362006-05-11 04:52  gb
8637
8638        * lib/nfcomp.lisp: Bump (current) FASL version.
8639
86402006-05-11 04:52  gb
8641
8642        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8643        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8644
86452006-05-11 04:35  gb
8646
8647        * xdump/faslenv.lisp: Bump (max) fasl version.
8648
86492006-05-11 04:32  gb
8650
8651        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8652        target-specific feature.
8653
86542006-05-11 03:35  gb
8655
8656        * compiler/PPC/PPC32/ppc32-arch.lisp,
8657        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8658        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8659        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8660        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8661        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8662        typecodes around: get rid of the (unused) old 16-bit string; add an
8663        (as yet unused) UCS-4 string type.
8664       
8665        These changes generally involve cross-compilation (or some very
8666        tricky bootstrapping that I didn't attempt)  FASL versions and
8667        kernel ABI versions will need to change, and new binaries will be
8668        made available soon.
8669
86702006-05-10 20:20  gb
8671
8672        * compiler/PPC/ppc-lapmacros.lisp,
8673        compiler/PPC/PPC32/ppc32-arch.lisp,
8674        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8675        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8676        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8677        8-bit) character code is stored in the #x0000xx00 byte of a
8678        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8679        bootstrap natively (which is why I was trying to make ppc64->ppc32
8680        cross-compilation work.)
8681       
8682        Change related macros/visnsns as well.
8683
86842006-05-10 19:00  gb
8685
8686        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8687        think that this is just hard to do right the way that it's being
8688        done.
8689
86902006-05-10 18:59  gb
8691
8692        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8693        when cross-compiling (because word-size differences aren't handled
8694        correctly by macros.)  Until the macros are fixed, don't even try
8695        ...
8696
86972006-05-10 18:58  gb
8698
8699        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8700        target::target-most-positive-fixnum (not the host's
8701        MOST-POSITIVE-FIXNUM).
8702
87032006-05-10 18:57  gb
8704
8705        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8706        few places.
8707
87082006-05-10 18:56  gb
8709
8710        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8711
87122006-05-10 18:55  gb
8713
8714        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8715        differences between host and target types, but try to turn
8716        references to FIXNUM to the appropriate target-specific type.
8717
87182006-05-09 21:01  gb
8719
8720        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8721        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8722        around to check the high bits of the char code, but all chars have
8723        been base-chars for several years now ...
8724       
8725        UNBOX-CHARACTER was unused.
8726       
8727        (This is the first step of what may be several bootstrapping steps
8728        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8729        easily-accessed char-code bits on PPC32.)
8730
87312006-05-09 11:48  gb
8732
8733        * lisp-kernel/xlbt.c: No psn in cs_area.
8734
87352006-05-09 02:42  gb
8736
8737        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8738        to mark_simple_area_range().
8739
87402006-05-09 02:33  gb
8741
8742        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8743        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8744
87452006-05-09 02:25  gb
8746
8747        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8748        the containing TCR, to make low-level debugging a bit easier.
8749
87502006-05-09 02:25  gb
8751
8752        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8753        and debugging printfs.
8754
87552006-05-09 02:24  gb
8756
8757        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8758        extra (signed_natural *) arg, for allocptr displacement.
8759
87602006-05-09 02:23  gb
8761
8762        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8763       
8764        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8765        regs/ saved TCR fields.  The general idea is that the after they
8766        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8767        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8768        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8769        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8770       
8771        On an interrupt, the caller needs to pass in a signed_natural * to
8772        pick up the allocptr displacement (if consing was interrupted at
8773        the alloc trap); the interrupt handler uses this value to fix up
8774        alloptr when it returns if consing was interrupted.
8775       
8776        This is all pretty clearly right, but something still goes wrong
8777        under some combination of high thread stress, frequent allocation,
8778        and blocking ff-calls.
8779
87802006-05-09 02:17  gb
8781
8782        * lisp-kernel/plbt.c: No psn currently available.
8783
87842006-05-09 02:16  gb
8785
8786        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8787        where it may come in handy ...
8788
87892006-05-09 02:16  gb
8790
8791        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8792        arg.
8793
87942006-05-09 02:13  gb
8795
8796        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8797
87982006-05-09 02:12  gb
8799
8800        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8801        Restore it.
8802
88032006-05-09 02:12  gb
8804
8805        * level-0/l0-error.lisp, library/lispequ.lisp,
8806        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8807        recycle $XNOCDR.
8808
88092006-05-09 02:11  gb
8810
8811        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8812        target-specific.
8813
88142006-05-09 02:11  gb
8815
8816        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8817        target-specific.
8818
88192006-05-09 00:40  gb
8820
8821        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8822        here.
8823
88242006-05-09 00:39  gb
8825
8826        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8827        x8664.
8828
88292006-05-09 00:39  gb
8830
8831        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8832        stuff up to l1-lisp-threads.lisp.
8833
88342006-05-08 22:58  gb
8835
8836        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8837        handle array and vector headers.
8838
88392006-05-08 22:57  gb
8840
8841        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8842        of which should ever happen) with the kernel.
8843
88442006-05-08 22:56  gb
8845
8846        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8847        the TCR either.
8848
88492006-05-08 22:55  gb
8850
8851        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8852
88532006-05-08 22:55  gb
8854
8855        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8856        $xsetbadvec.
8857
88582006-05-08 03:26  gb
8859
8860        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8861        flags are set to the result of decrementing %nargs at the end of
8862        the loop.
8863
88642006-05-08 03:25  gb
8865
8866        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8867        wants a list of condition args, not a single arg.
8868
88692006-05-08 03:24  gb
8870
8871        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8872        CS-AREA.
8873
88742006-05-08 03:23  gb
8875
8876        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8877        uuo_error_udf, not as a type error.
8878
88792006-05-07 16:50  gb
8880
8881        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8882        slots in a long time (they probably haven't -needed- them in even
8883        longer; I think that this had to do with the old partial MOP.)
8884        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8885        accessor in STANDARD-OBJECT-SETF-LINE-N.
8886
88872006-05-07 04:39  gb
8888
8889        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8890        file.
8891
88922006-05-07 04:34  gb
8893
8894        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8895        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8896        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8897        if code that wants both locks isn't careful to try to obtain them
8898        in some canonical order.)
8899
89002006-05-07 04:29  gb
8901
8902        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8903
89042006-05-07 04:29  gb
8905
8906        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8907
89082006-05-07 04:28  gb
8909
8910        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8911        xFindSymbol/dlsym returns 0 on x8664.
8912
89132006-05-07 04:27  gb
8914
8915        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8916        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8917        I'd mistakenly decided that it was faster to go through memory than
8918        to use these instructions.  It seems to actually be substantially
8919        slower, as one would expect.)
8920
89212006-05-07 04:25  gb
8922
8923        * compiler/X86/x86-asm.lisp: Add support for
8924        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8925
89262006-05-07 04:21  gb
8927
8928        * library/hash-cons.lisp: Fix doc in comments.
8929
89302006-05-07 04:21  gb
8931
8932        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8933
89342006-05-07 04:20  gb
8935
8936        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8937
89382006-05-07 04:19  gb
8939
8940        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8941        TARGET-backtrace.lisp.
8942
89432006-05-07 04:18  gb
8944
8945        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8946        BOGUS-THING-P to TARGET-thread-utils.lisp.
8947
89482006-05-07 04:17  gb
8949
8950        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8951        BOGUS-THING-P support here.
8952
89532006-05-07 04:16  gb
8954
8955        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8956        to psn.
8957
89582006-05-06 15:27  gb
8959
8960        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8961        to the "natural" case.
8962
89632006-05-06 15:26  gb
8964
8965        * compiler/X86/x862.lisp: Pass the right number of args to
8966        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8967
89682006-05-06 15:26  gb
8969
8970        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8971
89722006-05-06 02:09  gb
8973
8974        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8975        A and tries to obtain lock B, and thread Y holds lock B and tries
8976        to obtain lock A, what is that a classic case of ?
8977       
8978        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8979        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8980        two locks at the same time, and that's always a bit dangerous; it
8981        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8982        that must be owned in order to manipulate either the tcr or area
8983        queues.
8984
89852006-05-06 02:04  gb
8986
8987        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8988        %REALPATH of the current directory namestring, as it does by
8989        default on some platforms (but not Linux.)
8990
89912006-05-05 20:08  gb
8992
8993        * compiler/X86/x862.lisp: x862-ff-call: really implement the
8994        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
8995        the el-bizarro <- with a (temp) node target.
8996
89972006-05-05 20:06  gb
8998
8999        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9000        relative to the tagged entrypoint, not to the start of the
9001        underlying function-vector.)
9002
90032006-05-05 13:24  gb
9004
9005        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9006        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9007        the same register, so &rest clobbbers %next-method-context.)
9008       
9009        Could make separate entry points, so that this is only done when
9010        %next-method-context needs to be preserved ...
9011
90122006-05-05 13:21  gb
9013
9014        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9015
90162006-05-05 02:23  gb
9017
9018        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9019
90202006-05-05 02:23  gb
9021
9022        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9023
90242006-05-05 01:37  gb
9025
9026        * level-1/version.lisp: Bump du jour.
9027
90282006-05-05 01:36  gb
9029
9030        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9031        between the first 6 words of the outgoing frame (from which GPRs
9032        will be loaded) and other words (which stay on the stack); after
9033        the first 8 FP args, floats have to be passed on the stack, even if
9034        there's still room in the first 6 words of the outgoing frame.
9035       
9036        Need to understand the struct-by-value rules better: can a struct
9037        be passed partly in registers and partly on the stack ? RTFM (or,
9038        in this case, TF ABI spec.)
9039
90402006-05-05 01:31  gb
9041
9042        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9043        case should store relative to "other-offset" (rather than   
9044        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9045        - both the single and double-float cases were incrementing
9046        "other-offset"     twice when more than 8 FP args were involved.
9047        This had the effect of     storing floats into every other word and
9048        writing beyond the bounds of     the outgoing stack frame, possibly
9049        overwriting return addresses on the     foreign stack.
9050
90512006-05-04 23:12  gb
9052
9053        * level-1/l1-streams.lisp: James Bielman's fix to
9054        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9055
90562006-05-04 18:30  gb
9057
9058        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9059        decrement FPR-ARG-OFFSET by 8, not -8.
9060       
9061        (This could cause values outside of the stack frame to be read, but
9062        I still haven't found what's writing beyond the frame bounds.)
9063
90642006-05-04 18:27  gb
9065
9066        * lib/x86-backtrace.lisp: If its argument is an exception callback
9067        frame, %CFP-LFUN tries to determine the relative PC associated with
9068        the frame's nominal function and return that as a second value
9069        (just as it does for a real frame.)
9070       
9071        I think that this should work a high percentage of the time, but
9072        callers should generally be prepared to deal with a NULL second
9073        return value from %CFP-LFUN.
9074
90752006-05-04 11:12  gb
9076
9077        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9078        since we're using the same stack pointer to return values as we are
9079        to find arguments, don't try to "optimize" its initialization.
9080
90812006-05-03 18:52  gb
9082
9083        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9084        a little.  Don't coerce single float results to double; bind
9085        stack-ptr variable even if no args (might be a return value form
9086        that references it.) Failure to do the latter was creating a weird
9087        free variable reference that wasn't handled by the fasloader.
9088
90892006-05-03 18:50  gb
9090
9091        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9092
90932006-05-03 18:49  gb
9094
9095        * lib/nfcomp.lisp: Indent a comment.
9096
90972006-05-03 18:16  gb
9098
9099        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9100        that might involve a variable-length arglist (at this level,
9101        always), set %rax to the number (0-8) of FP arguments passed in xmm
9102        registers.
9103
91042006-05-03 13:26  gb
9105
9106        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9107        ~15, not ~!5.  (This was causing segfaults on return from
9108        interrupts sometimes.)
9109
91102006-05-03 13:24  gb
9111
9112        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9113        by SWANK/SLIME.
9114
91152006-05-03 13:23  gb
9116
9117        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9118        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9119        seems to get many things wrong.)
9120
91212006-05-03 11:37  gb
9122
9123        * level-1/version.lisp: You mist have yesterday's version.
9124
91252006-05-03 11:37  gb
9126
9127        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9128        LAP.
9129
91302006-05-03 11:36  gb
9131
9132        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9133        #+x8664-target.
9134
91352006-05-03 11:36  gb
9136
9137        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9138        it can just check for a 2-digit bignum header if it has something
9139        of tag TAG-MISC.
9140
91412006-05-03 11:34  gb
9142
9143        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9144        destinations.
9145
91462006-05-03 11:33  gb
9147
9148        * compiler/X86/x86-disassemble.lisp: Recognize
9149        uuo-error-eep-unresolved.
9150
91512006-05-02 18:07  gb
9152
9153        * level-1/version.lisp: Bump.
9154
91552006-05-02 18:07  gb
9156
9157        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9158        (mostly ?) unused and currently PPC-specific, if it works at all
9159        ...
9160
91612006-05-02 10:27  gb
9162
9163        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9164        for STRING-INPUT-STREAMs; it's not clear what such a method should
9165        do (and fairly clear that it shouldn't do what the previous
9166        definition was doing.)
9167
91682006-05-02 10:26  gb
9169
9170        * lib/format.lisp: clear input from *query-io*, not from
9171        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9172
91732006-05-02 10:26  gb
9174
9175        * library/hash-cons.lisp: x8664 lap
9176
91772006-05-02 10:26  gb
9178
9179        * lisp-kernel/x86-gc.c: hons area stuff
9180
91812006-04-29 09:14  gb
9182
9183        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9184        overflow (on value/temp stacks).
9185
91862006-04-29 09:13  gb
9187
9188        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9189        callback.
9190
91912006-04-29 09:10  gb
9192
9193        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9194       
9195        No linker script.
9196       
9197        Use -lthr, which offers 1:1 threads.
9198
91992006-04-29 09:09  gb
9200
9201        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9202
92032006-04-29 09:01  gb
9204
9205        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9206
92072006-04-29 09:00  gb
9208
9209        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9210        anything cares ...)
9211
92122006-04-29 08:59  gb
9213
9214        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9215
92162006-04-29 08:58  gb
9217
9218        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9219
92202006-04-29 08:58  gb
9221
9222        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9223
92242006-04-28 21:28  gb
9225
9226        * level-1/version.lisp: bump.
9227
92282006-04-28 21:27  gb
9229
9230        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9231        version).
9232
92332006-04-28 21:24  gb
9234
9235        * lib/ppc-backtrace.lisp: Fix typo.
9236
92372006-04-28 21:23  gb
9238
9239        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9240       
9241        Change the command/keyword parser a little, so that :FOO is just
9242        :FOO and not (:FOO).
9243       
9244        Change :B break loop command (and :F) to allow focusing on a range
9245        of frames, and change PRINT-CALL-HISTORY to more easily support
9246        that.
9247
92482006-04-28 19:37  gb
9249
9250        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9251        LOAD-CONSTANT form.
9252
92532006-04-28 19:34  gb
9254
9255        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9256        Factor out a little more.  Time to see what's broken on PPC ...
9257
92582006-04-28 19:34  gb
9259
9260        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9261        around colon-commands optional.
9262
92632006-04-28 04:11  gb
9264
9265        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9266        debugger's register display code.
9267
92682006-04-28 04:11  gb
9269
9270        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9271        on the stack is bogus.
9272
92732006-04-28 04:10  gb
9274
9275        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9276        ...) when calling back for an exception.
9277
92782006-04-28 03:36  gb
9279
9280        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9281       
9282        xcf struct.
9283
92842006-04-28 03:36  gb
9285
9286        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9287
92882006-04-28 03:36  gb
9289
9290        * lib/x86-backtrace.lisp: Implemented some stuff.
9291       
9292        Backtrace (sort of) works on x8664 now; need to find register
9293        values,  hide tagged return addresses, a few other things.
9294
92952006-04-28 03:34  gb
9296
9297        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9298
92992006-04-28 03:34  gb
9300
9301        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9302
93032006-04-28 03:33  gb
9304
9305        * level-1/x86-trap-support.lisp: Flags register accessor.
9306       
9307        New exception callback scheme.
9308
93092006-04-28 03:33  gb
9310
9311        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9312        changing.
9313
93142006-04-28 03:32  gb
9315
9316        * level-1/x86-error-signal.lisp: New exception callback stuff.
9317
93182006-04-28 03:32  gb
9319
9320        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9321
93222006-04-28 03:32  gb
9323
9324        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9325        files.
9326
93272006-04-28 03:31  gb
9328
9329        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9330        have exception callback frames ...
9331
93322006-04-28 03:30  gb
9333
9334        * level-1/l1-error-system.lisp: Tweak :report method for
9335        wrong-number-of-args errors.
9336
93372006-04-28 03:30  gb
9338
9339        * level-0/X86/x86-def.lisp: Implement APPLY+.
9340
93412006-04-28 03:29  gb
9342
9343        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9344
93452006-04-28 03:27  gb
9346
9347        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9348       
9349        CHECK-NARGS: don't enforce upper bound if it's null.
9350
93512006-04-28 03:17  gb
9352
9353        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9354
93552006-04-28 03:16  gb
9356
9357        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9358        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9359
93602006-04-26 14:18  gb
9361
9362        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9363
93642006-04-26 14:17  gb
9365
9366        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9367        prepared" to do so) if its argument isn't a function designator, so
9368        don't quietly call METHOD-FUNCTION for the user.
9369
93702006-04-26 13:56  gb
9371
9372        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9373        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9374
93752006-04-26 03:59  gb
9376
9377        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9378        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9379        exceptions will be pending when we start an ff-call (and the mxcsr
9380        is loaded from that location.)
9381       
9382        tcr.ffi_exception will then contain non-zero exception bits iff the
9383        most recent ff-call raised a (probably masked) FP exception.
9384       
9385        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9386
93872006-04-26 03:55  gb
9388
9389        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9390
93912006-04-26 03:23  gb
9392
9393        * lisp-kernel/x86-constants64.s: Update comment on
9394        tcr.ffi_exception.
9395
93962006-04-26 03:22  gb
9397
9398        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9399        from ffcall.  (Should maybe clear exception bits on entry to
9400        foreign state, so we're sure that any exception bits set in the
9401        tcr.ffi_exception slot were caused by the most recent ff-call.)
9402
94032006-04-26 03:20  gb
9404
9405        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9406        ffcall, compare them to unmasked exception bits in current MXCSR,
9407        maybe raise FP exception.  (Note: compile this change and rebuild
9408        image before making corresponding kernel change.)
9409
94102006-04-26 02:31  gb
9411
9412        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9413        LOGAND-2, not to LOGXOR-2.  Sheesh.
9414
94152006-04-26 02:01  gb
9416
9417        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9418        bit numbers as tests of the sign bit.   (This is probably best
9419        viewed as being "formally undefined", but it's not too expensive to
9420        check for that.  The case where the bit number's negative is
9421        definitely undefined; I think that it also gets treated as a test
9422        of the sign bit.)
9423
94242006-04-26 01:58  gb
9425
9426        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9427        negative.
9428
94292006-04-26 01:32  gb
9430
9431        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9432        61.  (Should check here for negative bit .)
9433
94342006-04-26 01:31  gb
9435
9436        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9437        context" error - which typically indicates a fault during exception
9438        processing - pass the context in to the kernel debugger.
9439
94402006-04-26 01:30  gb
9441
9442        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9443
94442006-04-26 00:56  gb
9445
9446        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9447        if it compares all corresponding digits, rather than repeatedly
9448        comparing the 0th digits N times ...
9449
94502006-04-25 17:38  gb
9451
9452        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9453        is 0, not if disp is 0.  ash: always make a signed integer out of
9454        the result,  since arg is always signed.
9455
94562006-04-25 17:37  gb
9457
9458        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9459        bit, so (for instance) (- 0.0d0) is -0.0d0.
9460
94612006-04-25 17:36  gb
9462
9463        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9464        time.
9465
94662006-04-25 17:35  gb
9467
9468        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9469        operand is in target reg (2-address issue.)
9470
94712006-04-24 16:42  gb
9472
9473        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9474        Apparently, pretty hard.  It was doing a logical shift right when
9475        typechecking the value, so negative values were rejected.
9476
94772006-04-24 16:41  gb
9478
9479        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9480        callback now takes a 'signo' argument.
9481
94822006-04-24 16:40  gb
9483
9484        * level-1/x86-trap-support.lisp: Initial support for handling
9485        arithmetic errors.  Will need more work to get operation and
9486        operands right.
9487
94882006-04-24 16:39  gb
9489
9490        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9491
94922006-04-24 13:58  gb
9493
9494        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9495        uuo-error-reg-not-type case.
9496
94972006-04-24 13:57  gb
9498
9499        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9500        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9501        another story.)
9502
95032006-04-24 13:55  gb
9504
9505        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9506        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9507        boxed, either.
9508
95092006-04-24 12:02  gb
9510
9511        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9512        _SPtcallnfngen: several bugs, which were already fixed in similar
9513        variants.
9514
95152006-04-24 12:01  gb
9516
9517        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9518        Deutch/Waite/Schorr marker.
9519
95202006-04-24 12:00  gb
9521
9522        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9523        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9524
95252006-04-24 11:59  gb
9526
9527        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9528
95292006-04-24 11:58  gb
9530
9531        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9532        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9533        DOUBLE-FLOAT.
9534
95352006-04-24 11:58  gb
9536
9537        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9538        high and low words of the mantissa, to ensure that no hidden bits
9539        are set.  (Some such bits were set, causing many double-float
9540        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9541
95422006-04-24 02:21  gb
9543
9544        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9545        image.
9546       
9547        (Don't expect it to have any contents yet; that'll require several
9548        more changes.   This is all intended to support PURIFY on x8664,
9549        where we'll want to ensure that any constant referenced by a
9550        function in readonly/pure memory has a fixed, static address.)
9551
95522006-04-24 02:14  gb
9553
9554        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9555        section makes NUM_IMAGE_SECTIONS 4.
9556
95572006-04-24 02:13  gb
9558
9559        * lisp-kernel/area.h: Typo in the definition of
9560        AREA_MANAGED_STATIC.
9561
95622006-04-24 02:12  gb
9563
9564        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9565        more areas.
9566
95672006-04-24 02:12  gb
9568
9569        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9570        addresses of instructions (not pointers thereto ...)
9571
95722006-04-24 02:11  gb
9573
9574        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9575        (mostly so that I could step through it to remember how it worked
9576        ...).
9577
95782006-04-24 02:10  gb
9579
9580        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9581        indirection.
9582
95832006-04-24 02:09  gb
9584
9585        * lisp-kernel/x86-gc.c: Remove a sanity check.
9586
95872006-04-24 02:09  gb
9588
9589        * xdump/xfasload.lisp: Create (empty) managed-static section
9590        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9591
95922006-04-24 02:08  gb
9593
9594        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9595        section.
9596
95972006-04-24 02:07  gb
9598
9599        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9600        fds, take CLOSE-ON-ERROR more seriously.
9601
96022006-04-24 02:06  gb
9603
9604        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9605        %CURRENT-FRAME-PTR) on PPC32/64.
9606
96072006-04-24 00:50  gb
9608
9609        * level-1/version.lisp: Bump.  Getting there ...
9610
96112006-04-24 00:50  gb
9612
9613        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9614       
9615        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9616        so pass them as a pointer to avoid word-size issues.
9617
96182006-04-24 00:48  gb
9619
9620        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9621        things that had been missing.
9622
96232006-04-24 00:48  gb
9624
9625        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9626        UUOs.
9627
96282006-04-24 00:48  gb
9629
9630        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9631
96322006-04-24 00:47  gb
9633
9634        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9635
96362006-04-24 00:47  gb
9637
9638        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9639
96402006-04-24 00:47  gb
9641
9642        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9643
96442006-04-24 00:46  gb
9645
9646        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9647        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9648        need to boostrap on PPC).
9649       
9650        Parse %FOREIGN-STACK-POINTER.
9651
96522006-04-22 03:30  gb
9653
9654        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9655        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9656        because (a) nothing else will and (b) the tcr will likely become
9657        unmapped soon, and we don't want things that walk the tcr list to
9658        segfault.
9659
96602006-04-22 03:27  gb
9661
9662        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9663        find_foreign_rsp; call Bug() and exit() if the context has no
9664        fpregs.  (That's a symptom, not the proble, but it's slightly
9665        better to do this than to double fault, which is what seems to be
9666        happening.)
9667
96682006-04-21 10:12  gb
9669
9670        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9671        worry about consing, write-barrier stuff.
9672
96732006-04-21 10:11  gb
9674
9675        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9676        (condition codes.)
9677
96782006-04-21 10:11  gb
9679
9680        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9681        (again.)
9682       
9683        Define enumeration constants for matching the instructions that can
9684        occur during consing.
9685
96862006-04-21 10:09  gb
9687
9688        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9689        store_node_conditional, in case pc_luser_xp() needs to complete the
9690        memoization.
9691
96922006-04-21 02:50  gb
9693
9694        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9695        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9696        allowed.
9697
96982006-04-21 02:49  gb
9699
9700        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9701        line up with GPRs.
9702
97032006-04-21 02:48  gb
9704
9705        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9706        #+64-bit-target, not #+ppc64-target.
9707
97082006-04-21 02:47  gb
9709
9710        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9711        amount.
9712
97132006-04-21 02:46  gb
9714
9715        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9716        unique to PPC64 (but do depend on #+64-bit-target).
9717
97182006-04-21 02:46  gb
9719
9720        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9721        confuse PROGV; remove them, for now.
9722
97232006-04-20 23:35  gb
9724
9725        * lisp-kernel/x86-spentry64.s: In the bignum case of
9726        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9727        whatever the code was trying to do there.
9728       
9729        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9730        and arg_z from the correct offsets within the lexpr.
9731
97322006-04-20 04:48  gb
9733
9734        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9735        force it to always be used, for now.
9736
97372006-04-19 17:11  gb
9738
9739        * lisp-kernel/pmcl-kernel.c: (Very) different
9740        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9741
97422006-04-19 17:10  gb
9743
9744        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9745        Solaris.
9746
97472006-04-19 00:35  gb
9748
9749        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9750        reversing-pointer marker should work.  (Perhaps it's a strong
9751        argument for implementing "purify" soon.)
9752
97532006-04-19 00:34  gb
9754
9755        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9756        function-boundary-marker.
9757
97582006-04-19 00:33  gb
9759
9760        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9761
97622006-04-18 19:35  gb
9763
9764        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9765        multiple-value case of THROW: don't want to do unbind_to if tcr's
9766        db-link matches target catch frame's.
9767
97682006-04-18 19:33  gb
9769
9770        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9771        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9772        synch with x86-asm.
9773
97742006-04-18 19:33  gb
9775
9776        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9777        :R in break messages.
9778       
9779        Say more about :C in :R.
9780
97812006-04-18 19:32  gb
9782
9783        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9784        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9785        seems to have been fixed.
9786
97872006-04-18 19:31  gb
9788
9789        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9790        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9791        horrible kludge, but it only happens once.)
9792
97932006-04-18 19:19  gb
9794
9795        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9796        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9797        to have been fixed.
9798
97992006-04-18 19:18  gb
9800
9801        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9802        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9803        ends of its arguments and ignoring the first few bytes (as well as
9804        doing misaligned memory references.)
9805
98062006-04-18 19:16  gb
9807
9808        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9809        This'll require some thought, mostly because of the reserved-frame
9810        issue(s).
9811
98122006-04-18 06:21  gb
9813
9814        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9815        adventures are about to end, I'm afraid.
9816
98172006-04-18 06:04  gb
9818
9819        * level-1/version.lisp: Daily bump.
9820
98212006-04-18 05:59  gb
9822
9823        * level-1/l1-sockets.lisp: Comment indentation.
9824
98252006-04-18 05:56  gb
9826
9827        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9828
98292006-04-18 05:55  gb
9830
9831        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9832        ppc-def (that means that there will need to be an APPLY+ for
9833        x8664).
9834
98352006-04-18 05:38  gb
9836
9837        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9838        compiler and x8664-vinsn-templates to agree on vinsn-names and
9839        implement some vinsns that had been missing.  (About 15 or so
9840        undefined vinsns remain.)
9841
98422006-04-18 05:37  gb
9843
9844        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9845        opcode ordinals in vinsn templates (e.g., in case new instructions
9846        are defined in the assembler) wasn't checking to see if vinsn
9847        templates named in the hash table were defined.  (It was apparently
9848        getting away with this because CONSP was broken.)  So, don't try to
9849        fixup opcode ordinals in NIL, and optionally report templates
9850        that're referenced but not defined.
9851
98522006-04-18 04:38  gb
9853
9854        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9855        (which only sets the low 8 bits of its destination), then comparing
9856        all 64-bits of the destination to a zero-extended 32-bit constant.
9857        (E.g., CONSP had little chance of being right all other things
9858        being equal, but may have been right more than one in 2^56 times if
9859        some random preceding instruction had zeroed the upper 56 bits.)
9860       
9861        (It's also shorter to do an 8-bit compare.)
9862
98632006-04-18 03:11  gb
9864
9865        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9866
98672006-04-18 02:51  gb
9868
9869        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9870        happy (well, as happy as they're going to be ...), back to finding
9871        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9872
98732006-04-18 01:26  gb
9874
9875        * lisp-kernel/thread_manager.c: Some Solaris changes.
9876
98772006-04-18 00:48  gb
9878
9879        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9880        installs in /usr/sfw/bin is both newer and buggier than the version
9881        available on the "Solaris Companion" disk, which gets installed in
9882        /opt/sfw/bin.
9883       
9884        Ordinarily, I'd wonder why a "companion" disk offers to install
9885        software that's bundled as part of the installation (especially old
9886        versions of that software.)  Now I know.
9887
98882006-04-18 00:45  gb
9889
9890        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9891
98922006-04-18 00:45  gb
9893
9894        * lisp-kernel/m4macros.m4: Fix changecom.
9895
98962006-04-18 00:11  gb
9897
9898        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9899        but is otherwise fine with single-line /* */.
9900
99012006-04-18 00:09  gb
9902
9903        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9904        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9905        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9906        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9907        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9908        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9909        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9910        like Darwin as, but we're back to single-line /* */, which is often
9911        pretty ugly and not well-supported by Emacs.
9912
99132006-04-17 23:23  gb
9914
9915        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9916        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9917        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9918        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9919        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9920        by Emacs and by all current GAS versions (but see ARM conventions.)
9921         No more jerking around with this, knock wood.
9922
99232006-04-17 23:23  gb
9924
9925        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9926        case where caller provided args before the lexpr, which is much
9927        harder than the simple case.
9928       
9929        Use #/newline for comment delimiters, which is supported by Emacs
9930        and by all current GAS versions (but see ARM conventions.)  No more
9931        jerking around with this, knock wood.
9932
99332006-04-17 23:20  gb
9934
9935        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9936        when numbers differed greatly in magnitude.  Current (binary)
9937        algorithm is usually OK.
9938
99392006-04-17 23:17  gb
9940
9941        * compiler/X86/x86-lap.lisp: Condition name should be
9942        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9943        not the problem.  Name wasn't spelled correctly in code that
9944        signals the condition, anyway.
9945
99462006-04-17 16:34  gb
9947
9948        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9949        argument, takes a new boolean to distinguish current tcr from
9950        others.  (The current tcr is only lusered on an interrupt; others
9951        are only lusered on GC entry.)
9952
99532006-04-17 16:33  gb
9954
9955        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9956        here.  (No deep reason not to share the new x86 signature on all
9957        architectures.)
9958
99592006-04-17 16:32  gb
9960
9961        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9962        here.  (No deep reason not to share the new x86 signature on all
9963        architectures.)
9964
99652006-04-17 16:31  gb
9966
9967        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9968        platform-dependent.
9969
99702006-04-17 06:49  gb
9971
9972        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9973        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9974        already.
9975
99762006-04-17 06:17  gb
9977
9978        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9979        truly portable type name.
9980
99812006-04-17 06:16  gb
9982
9983        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9984        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9985        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9986        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9987        work if they're at the start of a line in Linux GAS.  Try /* */
9988        comments, but limit them to a single line.  (May ultimately be
9989        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9990
99912006-04-17 05:28  gb
9992
9993        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9994        x86-subprims64.s, x86-uuo.s: // comments.
9995
99962006-04-17 05:28  gb
9997
9998        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
9999        conditionalization.
10000
100012006-04-17 05:27  gb
10002
10003        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10004        accessors, etc.)
10005
100062006-04-17 05:26  gb
10007
10008        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10009        the sigstack trampoline stuff.)
10010
100112006-04-17 05:25  gb
10012
10013        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10014        integer types.
10015
100162006-04-17 05:24  gb
10017
10018        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10019        x86-constants64.s: // comments.
10020
100212006-04-17 05:23  gb
10022
10023        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10024        Solaris mmap() is ... unusual.
10025
100262006-04-17 05:21  gb
10027
10028        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10029        since Solaris version of GAS doen't handle multi-line comments (/*
10030        ... */).  It -seems- that other assemblers do handle them
10031        correctly; we'll see.
10032       
10033        Some Solaris conditionalization (ELFstabs, etc.)
10034
100352006-04-17 05:20  gb
10036
10037        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10038         We'll see what this breaks.
10039
100402006-04-17 05:19  gb
10041
10042        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10043        SOLARIS is defined.
10044
100452006-04-17 05:18  gb
10046
10047        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10048        registers in predictable order.
10049
100502006-04-17 05:17  gb
10051
10052        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10053        single-line comments, since Solaris version of GAS doen't handle
10054        multi-line comments (/* ... */).  It -seems- that other assemblers
10055        do handle them correctly; we'll see.
10056
100572006-04-17 05:15  gb
10058
10059        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10060
100612006-04-17 05:15  gb
10062
10063        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10064       
10065        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10066        platforms ?
10067
100682006-04-17 05:01  gb
10069
10070        * lisp-kernel/solarisx64/Makefile: new file
10071
100722006-04-17 04:56  gb
10073
10074        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10075        change the name/usage of the linker script.
10076       
10077        Stop using the linker script (since spjump is the only thing in the
10078        kernel that has to be at a fixed address and we can copy it there.)
10079       
10080        Don't disable the EGC.
10081
100822006-04-17 04:54  gb
10083
10084        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10085        the spjump table, exported for C (so that spjump can be mapped into
10086        low memory.)
10087
100882006-04-17 04:54  gb
10089
10090        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10091       
10092        If the tlb's too small when trying to bind a special, push the
10093        binding index of the symbol we're binding (for the benefit of the
10094        handler.)
10095
100962006-04-17 04:52  gb
10097
10098        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10099        code words than it has elements (can't happen, unless the
10100        function's code-words word is garbage, which seems to happen when
10101        closures get consed up in non-zeroed memory.)
10102       
10103        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10104        %nargs.q), which sometimes contains something tagged and
10105        non-immediate.
10106
101072006-04-17 04:48  gb
10108
10109        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10110        to ensure that everythings's zeroed.
10111       
10112        x8664 implementation of extend_tcr_tlb().
10113       
10114        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10115        in call to update_bytes_allocated().
10116       
10117        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10118        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10119        bug, and possibly some other instabiliy.)
10120       
10121        handle_exception: keep trying to guess how to distinguish memory
10122        faults from other sources of SIGSEGV.
10123       
10124        On debug traps, advance the PC past the UUO before entering the
10125        debugger.
10126       
10127        Handle XUUO_TLB_TOO_SMALL.
10128
101292006-04-17 04:42  gb
10130
10131        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10132        reserved_frame_marker.
10133
101342006-04-17 04:42  gb
10135
10136        * lisp-kernel/thread_manager.c: Remove implementation of
10137        extend_tcr_tlb().
10138
101392006-04-17 04:41  gb
10140
10141        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10142        extend_tcr_tlb().
10143
101442006-04-17 04:41  gb
10145
10146        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10147
101482006-04-17 04:40  gb
10149
10150        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10151        that we don't need to use a linker script.
10152
101532006-04-17 04:40  gb
10154
10155        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10156        target xxx-exceptions.h now.
10157
101582006-04-17 04:39  gb
10159
10160        * lib/misc.lisp: Some comment formatting/editing.
10161
101622006-04-17 04:38  gb
10163
10164        * level-1/version.lisp: Bump.
10165
101662006-04-17 04:38  gb
10167
10168        * level-1/l1-readloop.lisp: Some debugging code in the code which
10169        creates the final closure.  It seems that when it's bad, it's bad
10170        on creation (here.)
10171
101722006-04-17 04:37  gb
10173
10174        * level-1/l1-processes.lisp: Some debugging code in
10175        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10176        final closure to be trashed.
10177       
10178        I don't think that other threads were getting their allocptr's
10179        nullified correctly by the GC/normalize_tcr(); with the current
10180        debugging code in place, it seems like the closure is consed on top
10181        of something other than free, thread-private heap memory (when it's
10182        bad, it fails the first check here.  I'm not sure that the latest
10183        round of GC/normalize-tcr() changes have fixed the problem, but I
10184        haven't seen it in a while now, either.)
10185
101862006-04-17 04:32  gb
10187
10188        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10189        disassembly, etc.).
10190
101912006-04-17 04:31  gb
10192
10193        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10194        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10195        (anymore.)
10196       
10197        Subprims are down in low memory again; make INIT-CLOSURE skip
10198        setting the high byte of .SPcall-closure's address if it's zero.
10199
102002006-04-17 04:28  gb
10201
10202        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10203        which may help backtrace.
10204
102052006-04-17 04:26  gb
10206
10207        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10208        (interface/implementation.)
10209
102102006-04-15 09:20  gb
10211
10212        * level-1/x86-callback-support.lisp: Ensure that callback
10213        trampolines are allocated in executable memory.
10214
102152006-04-15 09:12  gb
10216
10217        * lib/dumplisp.lisp: Refresh external entry points before reviving
10218        callbacks.  Reset callback storage before reviving callbacks.
10219
102202006-04-15 09:10  gb
10221
10222        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10223        error message with a %.  (Where did that come from ?)
10224
102252006-04-15 09:08  gb
10226
10227        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10228        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10229        is executable.
10230
102312006-04-14 09:02  gb
10232
10233        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10234
102352006-04-14 08:21  gb
10236
10237        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10238        shorthand for the nearest matching year.
10239
102402006-04-14 08:20  gb
10241
10242        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10243        when : was missing.
10244
102452006-04-13 23:09  gb
10246
10247        * lib/ppc-backtrace.lisp: Eschew missing parens.
10248
102492006-04-13 23:08  gb
10250
10251        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10252
102532006-04-13 23:08  gb
10254
10255        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10256        ARGLIST-FROM-MAP.
10257
102582006-04-13 23:02  gb
10259
10260        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10261        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10262        about returning a second value; returns values NIL, T for functions
10263        that take no args and don't have a symbol map.
10264
102652006-04-13 22:53  gb
10266
10267        * level-1/l1-lisp-threads.lisp: Try to make args to
10268        NTH-VALUE-IN-FRAME et al a little saner.
10269
102702006-04-13 22:37  gb
10271
10272        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10273        type.
10274
102752006-04-13 22:36  gb
10276
10277        * level-1/version.lisp: Bump.
10278
102792006-04-13 22:35  gb
10280
10281        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10282        trying to find the cause of the crash-on-quit bug.
10283
102842006-04-13 07:30  gb
10285
10286        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10287
102882006-04-13 07:29  gb
10289
10290        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10291        stuff to target-backtrace.
10292
102932006-04-13 06:45  gb
10294
10295        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10296
102972006-04-13 06:44  gb
10298
10299        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10300        x8664.
10301
103022006-04-13 06:44  gb
10303
10304        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10305        bytes of %nargs_q contain arg count.
10306
103072006-04-13 06:43  gb
10308
10309        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10310
103112006-04-13 06:43  gb
10312
10313        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10314        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10315        APPLY.
10316
103172006-04-13 06:42  gb
10318
10319        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10320
103212006-04-13 06:41  gb
10322
10323        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10324        operands.
10325
103262006-04-13 06:41  gb
10327
10328        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10329        "vector-lists" instead of adjustable arrays, simplify handling of
10330        constant expressions.  Still conses hysterically; need to find out
10331        where and tone it down a bit, if possible.
10332
103332006-04-13 06:39  gb
10334
10335        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10336        operands; maybe no lap constant-expressions.
10337
103382006-04-13 06:39  gb
10339
10340        * compiler/X86/x86-asm.lisp: Don't need
10341        *lap-constant-0-expression*.
10342
103432006-04-13 00:46  gb
10344
10345        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10346        linker script.
10347
103482006-04-13 00:45  gb
10349
10350        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10351        2.16.1 (Thanks to James Bielman).
10352
103532006-04-12 18:53  gb
10354
10355        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10356        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10357        of this seems to have to do with C++ static constructors, which
10358        aren't really relevant here.)
10359
103602006-04-12 18:28  gb
10361
10362        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10363        between %Rforeign_sp and GPRs.
10364
103652006-04-12 18:22  gb
10366
10367        * lisp-kernel/linuxx8664/Makefile: egc flag
10368
103692006-04-12 18:08  gb
10370
10371        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10372        where we're losing here.
10373
103742006-04-12 18:07  gb
10375
10376        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10377        write barrier code, crap out if so.
10378
103792006-04-12 18:06  gb
10380
10381        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10382        (presumably in a Makefile).
10383
103842006-04-12 14:50  gb
10385
10386        * level-1/version.lisp: Bump.
10387
103882006-04-12 14:46  gb
10389
10390        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10391        x86-backtrace.lisp: new target backtrace stuff.
10392
103932006-04-12 14:45  gb
10394
10395        * lib/backtrace.lisp: Start splitting things up, ideally into a
10396        mostly abstract API and gory platform- dependent implementation
10397        details.
10398
103992006-04-11 21:40  gb
10400
10401        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10402        the damned thing on.  (A little painful with integrity checking
10403        enabled, as it still is by default.)
10404       
10405        TODO:
10406       
10407        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10408        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10409        exception handling - check UUO usage in kernel, disassembler,
10410        exception handlers - stack overflow recovery
10411
104122006-04-11 21:24  gb
10413
10414        * lisp-kernel/x86-gc.c: Skip over function code in
10415        check_refmap_consistency.
10416
104172006-04-11 21:23  gb
10418
10419        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10420        backwards.
10421
104222006-04-11 19:11  gb
10423
10424        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10425
104262006-04-11 19:11  gb
10427
10428        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10429        a closure, no lfname slot in closure.
10430
104312006-04-11 16:29  gb
10432
10433        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10434        area.
10435
104362006-04-11 16:29  gb
10437
10438        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10439        between lisp/foreign code.
10440
104412006-04-11 16:29  gb
10442
10443        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10444        bit-order problems.)
10445       
10446        Maintain the MXCSR on transitions between lisp/foreign code.
10447
104482006-04-11 16:28  gb
10449
10450        * lisp-kernel/x86-macros.s: Access globals in expressions.
10451
104522006-04-11 16:27  gb
10453
10454        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10455        need some bootstrapping stuff (function boundary markers) for a few
10456        reasons, as will DWS marker.
10457
104582006-04-11 16:27  gb
10459
10460        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10461        the siginfo error code.
10462
104632006-04-11 16:26  gb
10464
10465        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10466        fields in tcr.
10467
104682006-04-11 16:25  gb
10469
10470        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10471
104722006-04-11 16:25  gb
10473
10474        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10475        when starting a lisp thread.  (It'll be saner when FP exceptions
10476        are handled.)
10477
104782006-04-11 16:24  gb
10479
10480        * level-1/x86-error-signal.lisp: Recognize what complaints about
10481        non-uvectors are trying to tell us.
10482
104832006-04-11 16:23  gb
10484
10485        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10486        vectors.
10487
104882006-04-11 16:23  gb
10489
10490        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10491        Ses.  Define classes for function/symbol vectors.
10492
104932006-04-11 16:22  gb
10494
10495        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10496
104972006-04-11 16:21  gb
10498
10499        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10500        needs to add a function boundary marker (but we can stop padding
10501        each closure with a null function name slot.)
10502
105032006-04-11 16:20  gb
10504
10505        * compiler/X86/X8664/x8664-arch.lisp: Define
10506        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10507
105082006-04-11 16:19  gb
10509
10510        * compiler/X86/x862.lisp: Emit a function boundary marker between
10511        code and constants. (For GC reasons.) Change closure initialization
10512        to account for it.
10513
105142006-04-11 16:18  gb
10515
10516        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10517        between code and constants. (For GC reasons.)
10518
105192006-04-11 16:17  gb
10520
10521        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10522
105232006-04-11 16:17  gb
10524
10525        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10526       
10527        See if we can get by without 68K condition code ...
10528
105292006-04-11 06:53  gb
10530
10531        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10532        soon.
10533
105342006-04-11 06:53  gb
10535
10536        * lib/numbers.lisp: Infinity constants conditionalized on/off
10537        during MXCSR adventures.  On now.
10538
105392006-04-11 06:52  gb
10540
10541        * lib/describe.lisp: Comment indentation.
10542       
10543        No such thing as an interpreted function; hasn't been for years.
10544
105452006-04-11 06:51  gb
10546
10547        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10548        al.
10549
105502006-04-11 06:51  gb
10551
10552        * level-1/version.lisp: Bumped yesterday.
10553
105542006-04-11 06:50  gb
10555
10556        * level-1/l1-error-signal.lisp: Comments.
10557
105582006-04-11 06:50  gb
10559
10560        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10561        at least.
10562
105632006-04-11 06:50  gb
10564
10565        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10566        a fixnum constant is boxed in %SET-MXCSR.
10567
105682006-04-11 06:49  gb
10569
10570        * level-0/X86/x86-def.lisp: Get info about register usage.
10571
105722006-04-11 06:49  gb
10573
10574        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10575        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10576        though that it was dealing with a scaled index.
10577
105782006-04-11 06:48  gb
10579
10580        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10581        aref.
10582
105832006-04-11 06:48  gb
10584
10585        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10586        do something about FRAG-CODE-BUFFERs, and need to tone down
10587        expression overkill.
10588
105892006-04-11 06:46  gb
10590
10591        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10592        for when opcode ordinals change.
10593
105942006-04-11 06:46  gb
10595
10596        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10597        UUO-ERROR-ARRAY-RANK.
10598       
10599        Vinsn template fixup mechanism, for when opcode ordinals change.
10600
106012006-04-11 06:45  gb
10602
10603        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10604
106052006-04-11 06:45  gb
10606
10607        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10608
106092006-04-11 06:44  gb
10610
10611        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10612        specialized list header initialization.
10613
106142006-04-11 06:43  gb
10615
10616        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10617        2d float arrays.
10618
106192006-04-10 10:19  gb
10620
10621        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10622        foreign SP properly obeying C alignment conventions.  In order to
10623        get it aligned for lisp usage during the callback, an extra word
10624        needs to be pushed before the backpointer to the old foreign RSP.
10625
106262006-04-10 10:18  gb
10627
10628        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10629        is 16-byte aligned, so that the foreign stack pointer is aligned
10630        according to C conventions when we enter the signal handler on that
10631        stack.
10632
106332006-04-10 10:13  gb
10634
10635        * lib/numbers.lisp: Define FP infinities, since we're running with
10636        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10637        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10638        an unmasked FP exception was raised and unhandled.)
10639
106402006-04-10 10:10  gb
10641
10642        * lib/level-2.lisp: Remove the WARN and the conditionalization
10643        around bit/bitfield accessors on X8664.
10644
106452006-04-10 10:09  gb
10646
10647        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10648        from memory, we say "ldmxcsr".  We want to do such a load in order
10649        to write new values into the mxcsr.  To store it in memory, we say
10650        "stmxcsr".  We want to do such a store (and a subsequent load from
10651        memory) in order to access the value of the mxcsr.  Simple, no ?
10652
106532006-04-10 10:07  gb
10654
10655        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10656        %GET-BIT/%SET-BIT.
10657
106582006-04-10 08:29  gb
10659
10660        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10661        addition/multiplication: either arg can overlap result (and often
10662        will).  Float subtraction/division: caller should ensure that
10663        result and second arg are disjoint.
10664
106652006-04-10 08:27  gb
10666
10667        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10668        that result doesn't overlap second argument for non-commutative
10669        operations.
10670
106712006-04-10 08:26  gb
10672
10673        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10674
106752006-04-10 05:12  gb
10676
10677        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10678        malloc them.
10679
106802006-04-10 05:12  gb
10681
10682        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10683
106842006-04-10 05:11  gb
10685
10686        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10687        good reason not to.
10688
106892006-04-10 04:39  gb
10690
10691        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10692        are always big-endian.
10693
106942006-04-10 04:38  gb
10695
10696        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10697        reachable via a TRA, update the variable "dnode" so that the
10698        correct bits get set.
10699
107002006-04-10 04:37  gb
10701
10702        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10703
107042006-04-10 04:37  gb
10705
10706        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10707        a bit simpler.
10708
107092006-04-10 04:36  gb
10710
10711        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10712        the MAKE-LOAD-FORM method for hashtables.
10713
107142006-04-09 09:17  gb
10715
10716        * lisp-kernel/thread_manager.c: Inflate control stack size on
10717        x8664, until DWS marker works (and do so correctly this time).
10718
107192006-04-09 09:12  gb
10720
10721        * lisp-kernel/thread_manager.c: Inflate control stack size on
10722        x8664, until DWS marker works.
10723
107242006-04-09 09:09  gb
10725
10726        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10727        #+x86-target DBG trap.
10728
107292006-04-09 08:57  gb
10730
10731        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10732        (Should be exactly the same code, but may not have been 15 years
10733        ago or whenever this was written.)
10734
107352006-04-09 08:56  gb
10736
10737        * lisp-kernel/x86-spentry64.s,
10738        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10739        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10740
107412006-04-09 03:52  gb
10742
10743        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10744        condition_to_boolean.  Not clear why this is necessary, but it
10745        seems to be.
10746
107472006-04-09 03:24  gb
10748
10749        * lisp-kernel/x86-macros.s: Use shorter sequence in
10750        condition_to_boolean.
10751
107522006-04-09 02:32  gb
10753
10754        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10755        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10756        other things being equal.
10757
107582006-04-09 01:37  gb
10759
10760        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10761        operands backwards.
10762
107632006-04-09 01:37  gb
10764
10765        * compiler/optimizers.lisp: Comment formatting.
10766
107672006-04-09 01:29  gb
10768
10769        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10770        bsr/xorl != clz when (zerop n).
10771
107722006-04-08 21:25  gb
10773
10774        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10775        current thread before entering kernel debugger.
10776
107772006-04-08 21:21  gb
10778
10779        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10780        (TARGET-XLOAD-MODULES).
10781
107822006-04-08 21:21  gb
10783
10784        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10785
107862006-04-08 21:20  gb
10787
10788        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10789
107902006-04-08 20:46  gb
10791
10792        * lib/foreign-types.lisp: Add missing paren ...
10793
107942006-04-08 20:45  gb
10795
10796        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10797
107982006-04-08 20:44  gb
10799
10800        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10801        structs by value, sort of.
10802
108032006-04-08 20:43  gb
10804
10805        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10806
108072006-04-08 20:42  gb
10808
10809        * library/hash-cons.lisp: Port some of this to x8664; need to add
10810        code to maintain "used" bitmap.
10811
108122006-04-08 20:42  gb
10813
10814        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10815        short term.
10816
108172006-04-08 20:41  gb
10818
10819        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10820        someday fix this crap.
10821
108222006-04-08 20:40  gb
10823
10824        * lib/describe.lisp: Conditionalize, a little.
10825
108262006-04-08 20:40  gb
10827
10828        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10829
108302006-04-08 20:39  gb
10831
10832        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10833
108342006-04-08 20:39  gb
10835
10836        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10837
108382006-04-08 20:39  gb
10839
10840        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10841        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10842
108432006-04-08 20:38  gb
10844
10845        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10846        l1-readloop-lds (nothing to do with PPC or traps ...)
10847
108482006-04-08 20:37  gb
10849
10850        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10851
108522006-04-08 04:46  gb
10853
10854        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10855        restore, even if there's only one values-producing form (that form
10856        might produce more values than will fit in argument registers, and
10857        we therefore have to reserve space for a stack frame.)
10858
108592006-04-08 04:45  gb
10860
10861        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10862
108632006-04-08 04:43  gb
10864
10865        * lib/macros.lisp: Scanning backwards for instructions depends on a
10866        reasonable architecture.
10867
108682006-04-08 04:43  gb
10869
10870        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10871
108722006-04-08 04:42  gb
10873
10874        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10875        target arch.
10876
108772006-04-08 04:41  gb
10878
10879        * xdump/.cvsignore: ignore *.*fsl
10880
108812006-04-07 22:46  gb
10882
10883        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10884
108852006-04-07 22:45  gb
10886
10887        * compiler/nx1.lisp: Provide an FTYPE declaration for
10888        %DEFINE-PPC-LAP-FUNCTION.
10889
108902006-04-07 22:25  gb
10891
10892        * level-1/version.lisp: Bump.
10893
108942006-04-07 22:19  gb
10895
10896        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10897        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10898        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10899        package.
10900
109012006-04-07 22:18  gb
10902
10903        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
10904        arch:: to ccl::.
10905
109062006-04-07 22:17  gb
10907
10908        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
10909        RISC-