source: trunk/ccl/ChangeLog @ 7232

Last change on this file since 7232 was 7232, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 785.8 KB
<
Line 
12007-09-16 17:10  gb
2
3        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
4        before key arg(s), so assign it an address before processing &key
5        initforms.
6
72007-09-15 17:10  gb
8
9        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
10        -LENGTH* when printing break messages.
11
122007-09-13 20:10  gb
13
14        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
15        :element-type to ccl:run-program to allow for binary streams
16
172007-09-13 06:55  gb
18
19        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
20        src/elisp/README, src/spell/README: Restore some README files,
21        which had somehow gotten lost in translation.
22
232007-09-13 06:54  gb
24
25        *
26        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
27        ib/: classes.nib, info.nib, keyedobjects.nib: not used
28
292007-09-13 06:52  gb
30
31        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
32        for certain kinds of MULTIPLE-VALUE-CALL differently; in
33        particular, note the effect of pushing such a label on stack depth.
34
352007-09-13 06:50  gb
36
37        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
38        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
39        containing directory exists in cvs.
40
412007-09-06 14:10  gb
42
43        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
44        write-info-plist
45
462007-09-04 23:11  gb
47
48        * cocoa-ide/cocoa-editor.lisp: New! Improved!
49       
50        The code which arranges for editing changes to be processed in the
51        main thread now does so via an NSInvocation (ObjC's notion of a
52        closure, sort of); the methods which run in the main thread handle
53        the job of synchronizing the underlying the Hemlock string and the
54        "real" NSMutableAttributedString as well as informing the text
55        system of pending editing changes via
56        #/edited:range:changeInLength:.  The code which processes deletions
57        does the change processing before modifying the string (other
58        methods do it after the change); this seems to be necessary to
59        avoid some things that could cause ticket:50.  (I'm not sure if
60        this fixes ticket:50, but it does seem to fix a reproducible case.)
61       
62        The #/replaceCharactersInRange:withString: method on
63        hemlock-text-storage (which handles buffer changes originating from
64        non-Hemlock sources) is careful to use a :right-inserting temporary
65        mark when modifying the buffer, to help ensure that
66        insertions/deletions take place at the correct absolute position.
67        (This may at least partially address bugs related to things getting
68        confused/out-of-bounds errors when doing lots of cutting and
69        pasting, though it's hard to know without reproducible cases.)
70       
71        The macros NSSTRING-ENCODING-TO-NSINTEGER and
72        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
73        least one of them wasn't.)
74       
75        The handling of text encoding for editor documents has changed in a
76        few ways.  If "automatic" encoding is used in an "Open ..." dialog
77        and is successfully able to infer a text file's encoding, the
78        encoding that was inferred becomes the document's encoding (used in
79        subsequent "save" operations.)  On some OSX versions, the automatic
80        detection mechanism can only recognize UTF-16 files that contain a
81        leading BOM (and the editor's code for dealing with the automatic
82        mechanism didn't expect this to ever work.)  On other systems, the
83        automatic mechanism can return something correct (I've seen UTF-8)
84        but possibly suboptimal.
85       
86        The Open... dialog now defaults to something derived from the
87        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
88        "automatic" is a little unpredictable, the new default is probably
89        better.
90       
91        The NSDocument mechanism for creating backup files (with names of
92        the form "name~.ext") is not used; when backup files are created,
93        we try to copy the original to a file whose name conforms to the
94        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
95        seem to work better when the Emacs scheme is used (though I suppose
96        some people might prefer the NSDocument scheme and we could make
97        this a preference.)
98
992007-09-04 22:11  gb
100
101        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
102        creating a Listener, since (a) that method's deprecated in favor of
103        #/setFileURL: and (b) a newly-created Listener doesn't really have
104        an associated filename, and so shouldn't get the icon and popup in
105        its titlebar.
106       
107        Do arrange that (unless/until a listener document is saved to a
108        file) its window title is based on the underlying Hemlock buffer's
109        name.  (If one ever attempts to save a listener document, the
110        proposed file name is the internal NSDocument name; we might or
111        might not want to change that.)
112
1132007-09-04 22:10  gb
114
115        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
116        *MODELINE-FONT-NAME*, -SIZE*.
117
1182007-09-04 19:13  gb
119
120        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
121        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
122        which was supposed to allow us to track the high end of a range of
123        pages that'd been written to and not freed (so we'd zero them
124        lazily when they were reallocated.)  Such a scheme would really
125        need to track both ends of such a range, and the old scheme wound
126        up being overly zealous and often zeroed pages that were already
127        zeroed.  Zero the range between the old free pointer and the new
128        one after each GC, instead.
129       
130        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
131        carefully.
132
1332007-09-04 19:12  gb
134
135        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
136        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
137
1382007-09-04 19:11  gb
139
140        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
141        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
142        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
143        this in the PPC backends.
144       
145        (This needs testing ...)
146
1472007-09-04 19:10  gb
148
149        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
150        :single-float callback results have been coerced to :double-float
151        on x8664.
152
1532007-09-03 18:10  gb
154
155        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
156        selection or the symbol around point, regardless of global parsing
157        state (Ticket:95).  While in there, make meta-. with a numarg
158        prompt for symbol to look up.
159
1602007-08-30 20:10  gb
161
162        * level-1/l1-error-system.lisp: Add a restart for unbound
163        variable/undefined function errors -- if there is a unique
164        bound/fbound symbol of the same name in another package, offer to
165        use it instead.
166
1672007-08-30 19:10  gb
168
169        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
170        inaccesible files; it might return an exit status of 2 if it finds
171        such files, so treat that as "success" for now (ticket:98).
172
1732007-08-30 18:11  gb
174
175        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
176        Variable command output (ticket:97).
177
1782007-08-30 18:10  gb
179
180        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
181        VARIABLE-VALUE to access buffer's package (ticket:82).
182
1832007-08-30 15:11  gb
184
185        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
186        code to copy user-supplied nibfiles into a saved application bundle
187
1882007-08-30 14:10  gb
189
190        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
191        all callers of current-point-for-deletion handle the nil return
192        value case.  This fixes ticket:85
193
1942007-08-29 20:11  gb
195
196        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
197        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
198        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
199        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
200        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
201        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
202        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
203        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
204        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
205        hemlock/src/fill.lisp, hemlock/src/font.lisp,
206        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
207        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
208        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
209        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
210        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
211        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
212        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
213        hemlock/src/macros.lisp, hemlock/src/main.lisp,
214        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
215        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
216        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
217        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
218        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
219        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
220        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
221        hemlock/src/text.lisp, hemlock/src/undo.lisp,
222        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
223        hemlock/src/archive/auto-save.lisp,
224        hemlock/src/archive/bit-display.lisp,
225        hemlock/src/archive/bit-screen.lisp,
226        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
227        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
228        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
229        hemlock/src/archive/eval-server.lisp,
230        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
231        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
232        hemlock/src/archive/lisp-lib.lisp,
233        hemlock/src/archive/lispbuf.lisp,
234        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
235        hemlock/src/archive/netnews.lisp,
236        hemlock/src/archive/overwrite.lisp,
237        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
238        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
239        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
240        hemlock/src/archive/spell-corr.lisp,
241        hemlock/src/archive/spell-rt.lisp,
242        hemlock/src/archive/spellcoms.lisp,
243        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
244        hemlock/src/archive/ts-stream.lisp,
245        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
246        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
247        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
248        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
249        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
250        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
251        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
252        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
253        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
254        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
255        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
256        hemlock/website/index.html.in: umm, load cocoa-grep where it will
257        work...
258
2592007-08-29 20:10  gb
260
261        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
262
2632007-08-29 13:11  gb
264
265        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
266
2672007-08-29 12:12  gb
268
269        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
270        arg (simple case), move point to the location of the temporary mark
271        after calling the indent function.
272
2732007-08-29 12:11  gb
274
275        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
276        returns 2 values: the "column" (with tabs expanded) of the first
277        non-whitespace character on the line and that character's position.
278         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
279        position if no changes are necessary.
280
2812007-08-29 12:10  gb
282
283        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
284        method, make an NS-MUTABLE-STRING even if the string from the
285        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
286        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
287         mutable.) For ticket:84.
288
2892007-08-28 23:10  gb
290
291        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
292        hi::scroll-window actually scroll, not just move insertion point
293        around.  Fixes ticket:88.
294
2952007-08-26 13:11  gb
296
297        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
298        keyword argument to build-application: main-nib-name; names the
299        nigfile that is to be the main nib of the built application
300
3012007-08-26 12:10  gb
302
303        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
304        application bulder to trunk
305
3062007-08-25 02:13  gb
307
308        * cocoa-ide/cocoa-listener.lisp:
309        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
310        #\^d after sending the string.  (This is just a workaround for
311        ticket:82; the trailing #\^d is just treated as whitespace and
312        terminates calls to READ.  We really want some way of recognizing
313        "end of selection" and treating that like a transient EOF in some
314        cases.)
315
3162007-08-25 02:12  gb
317
318        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
319        #/openDocumentWithContentsOfURL:display:error:, since calling
320        #/openDocumentWithContentsOfURL:display: complains that
321        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
322        Cocoa.  (Note that we'd been calling
323        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
324        implementation without incident.)
325
3262007-08-25 02:11  gb
327
328        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
329        notes buffer modification.
330
3312007-08-25 02:10  gb
332
333        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
334        modification.
335
3362007-08-23 17:17  gb
337
338        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
339        method.
340
3412007-08-23 17:16  gb
342
343        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
344        #/editingInProgress method.  Add some more (conditionalized) debug
345        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
346        command thread as well as in Cocoa thread.  Make sure that Hemlock
347        command thread has bindings of command-processing data structures,
348        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
349        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
350        only set by isearch when it exits.
351
3522007-08-23 17:15  gb
353
354        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
355        font name and size; initially, Monaco 9.  (Not yet changeable
356        through preferences panel.) Adjust outline view's row height based
357        on font height.  Set the data cell to "non-editable" (could have
358        done this in IB).  Provide handlers for some menu commands
359        (continue, restarts, exitBreak); no need to validate menu items for
360        them (those commands should be available whenever backtrace dialog
361        is active.)
362
3632007-08-23 17:14  gb
364
365        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
366        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
367
3682007-08-23 17:13  gb
369
370        * cocoa-ide/hemlock/src/package.lisp: Export
371        RECURSIVE-GET-KEY-EVENT.
372
3732007-08-23 17:12  gb
374
375        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
376        read symbol for arglist.  (Should probably be more careful
377        elsewhere, too.)
378
3792007-08-23 17:11  gb
380
381        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
382        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
383        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
384
3852007-08-23 17:10  gb
386
387        * cocoa-ide/hemlock/src/echo.lisp: Don't call
388        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
389        still be pending on the echo area (how ?), and
390        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
391        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
392
3932007-08-23 16:11  gb
394
395        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
396        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
397        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
398        events in some modal loop in a command.  (The idea is that toplevel
399        editing commands inhibit redisplay in the main buffer while they're
400        active; commands which recursively process key events and which may
401        make changes to that buffer should allow redisplay while they're
402        waiting in RECURSIVE-GET-KEY-EVENT.)
403
4042007-08-23 16:10  gb
405
406        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
407        revert.
408
4092007-08-18 19:11  gb
410
411        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
412        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
413        race conditions where two threads try to update a distpatch table
414        index with different {wrapper, combined-method} pairs at the same
415        time.  (As it's written, if the store-conditional fails because a
416        slot that we thought was free is now in use, we simply don't cache
417        the pair and get a cache miss the next time; that may or may not be
418        more work than repeating the whole process would be.)
419       
420        The store-conditional is used on attempt to update the
421        combined-method slot in the pair; the wrapper slot is only updated
422        if the store-conditional succeeds.  Code which probes the wrapper
423        slots shouldn't be confused by a half-updated pair (should never
424        see a non-null wrapper slot and a null combined-method slot.)
425
4262007-08-18 17:11  gb
427
428        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
429        %DECODE-TYPE.
430
4312007-08-18 16:10  gb
432
433        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
434        determine if selection highlighting can be used, since
435        #_class_respondsToSelector requires ObjC-2.0)
436
4372007-08-16 08:22  gb
438
439        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
440        extended selection highlighting if it's supported.
441       
442        Clear the shift bit from key events associated with standard-chars.
443
4442007-08-16 08:20  gb
445
446        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
447        bound to movement commands run different commands.
448       
449        Left-mouse has the :mouse-exit logical attribute.
450
4512007-08-16 08:19  gb
452
453        * cocoa-ide/hemlock/src/buffer.lisp:
454        CURRENT-POINT-COLLAPSING-SELECTION and
455        CURRENT-POINT-EXTENDING-SELECTION replace
456        CURRENT-POINT-FOR-MOVEMENT.
457
4582007-08-16 08:18  gb
459
460        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
461        translation.
462       
463        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
464        selection highlighting under Leopard.
465
4662007-08-16 08:16  gb
467
468        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
469        "shifted" and "unshifted" variants.
470
4712007-08-16 08:15  gb
472
473        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
474        attribute.
475
4762007-08-16 08:14  gb
477
478        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
479        bit for standard-char (and upper-case.) This means that
480        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
481        (in which the shift modifier isn't explicitly set) and that
482        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
483        modifier is set in the latter.)
484
4852007-08-16 08:13  gb
486
487        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
488        the buffer if the line's already indented properly.
489       
490        Movement commands come in two variants: those that collapse and
491        those that extend the selection.
492
4932007-08-16 08:12  gb
494
495        * cocoa-ide/hemlock/src/package.lisp: Export
496        CURRENT-POINT-EXTENDING-SELECTION and
497        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
498        CURRENT-POINT-FOR-MOVEMENT.
499
5002007-08-16 08:10  gb
501
502        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
503        empatically (under Leopard) after successful (non incremental)
504        search.
505       
506        Incremental search also hilites the selection, but doesn't yet
507        manage the selection on failure.
508
5092007-08-16 07:10  gb
510
511        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
512        by invoking #/activateHemlockView on main thread; call
513        deactivate-hemlock-view on the peer.
514       
515        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
516        but I'm fairly sure that this stuff needs to happen on the main
517        thread.
518
5192007-08-09 16:10  gb
520
521        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
522        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
523
5242007-08-07 15:10  gb
525
526        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
527        beginning of buffer and end of buffer.  It's Mac standard, and I
528        use it a lot.  Home was bound to "Help".
529       
530        Make clicking the mouse while incremental searching exit instead of
531        abort, leaving the insertion point where you click instead of where
532        the isearch was started.
533
5342007-08-06 23:10  gb
535
536        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
537        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
538        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
539        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
540        hemlock key event, set the hemlock shift bit if the the Cocoa shift
541        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
542        bit cleared and the keysym downcased (if necessary).  Leave
543        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
544        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
545        deactivates the region ("collapses the selection") if the shift bit
546        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
547        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
548        hopefully all) movement commands, to address ticket:36 .  Define a
549        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
550        to it to address ticket:44 .
551
5522007-08-06 19:10  gb
553
554        * objc-bridge/objc-support.lisp: careful with db stuff
555
5562007-08-04 13:12  gb
557
558        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
559        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
560         (Should maybe do this on mousedown in the echo area, too.) Some
561        indentation changes.
562
5632007-08-04 12:14  gb
564
565        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
566        :abort key event.
567
5682007-08-04 12:13  gb
569
570        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
571        title for show lossage command.
572
5732007-08-04 12:12  gb
574
575        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
576        left mouse down, so that we can use #k"leftdown".
577
5782007-08-04 12:11  gb
579
580        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
581
5822007-08-03 15:10  gb
583
584        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
585
5862007-08-03 10:10  gb
587
588        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
589        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
590
5912007-08-03 09:10  gb
592
593        * level-0/l0-array.lisp: Define list-to-vector.
594
5952007-08-02 07:16  gb
596
597        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
598        #/changeFont:; use targeted messages.  Ensure that font panel picks
599        up the right font.
600
6012007-08-02 07:16  gb
602
603        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
604        default.
605
6062007-08-02 07:15  gb
607
608        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
609        view, echo area) unselectable when activating via Hemlock command.
610        Text views don't use font panel by default; enable/disable font
611        panel when setting text color.
612
6132007-08-02 07:14  gb
614
615        * cocoa-ide/.cvsignore: New.
616
6172007-08-02 07:13  gb
618
619        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
620        CREATE-INTERFACES.
621
6222007-08-02 07:12  gb
623
624        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
625
6262007-08-02 07:11  gb
627
628        * library/parse-ffi.lisp: Don't be verbose about explict struct
629        returns.
630
6312007-08-02 07:10  gb
632
633        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
634        anymore.
635
6362007-07-31 19:10  gb
637
638        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
639        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
640
6412007-07-31 07:12  gb
642
643        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
644        to #o644 (not #o666); make sure that it's actually used when
645        creating the image (even if not prepending a kernel to the image.)
646
6472007-07-31 07:11  gb
648
649        * level-1/l1-application.lisp: When processing --version option,
650        don't write to *terminal-io* (which doesn't exist yet.)
651
6522007-07-22 23:50  gb
653
654        * release-notes.txt: Add more stuff.
655
6562007-07-22 23:11  gb
657
658        * level-1/version.lisp: Bump.
659
6602007-07-22 23:10  gb
661
662        * release-notes.txt: Update for 1.1-pre-070722.
663
6642007-07-22 21:11  gb
665
666        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
667
6682007-07-22 21:10  gb
669
670        * cocoa-ide/README: New file.
671
6722007-07-22 18:51  gb
673
674        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
675        package.
676
6772007-07-22 18:50  gb
678
679        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
680
6812007-07-22 18:49  gb
682
683        * level-1/version.lisp: Bump.
684
6852007-07-22 18:48  gb
686
687        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
688        Allocate callback trampolines via mmap on ppc, too.
689
6902007-07-22 18:47  gb
691
692        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
693        RUN-PROGRAM to merge-pathnames.
694
6952007-07-22 18:46  gb
696
697        * level-1/l1-utils.lisp: Don't define BEEP.
698
6992007-07-22 18:46  gb
700
701        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
702        was counting chars (nchars) twice.
703
7042007-07-22 18:45  gb
705
706        * level-1/l1-streams.lisp: selection-stream changes.
707
7082007-07-22 18:44  gb
709
710        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
711        about restarts in backtrace context.
712
7132007-07-22 18:43  gb
714
715        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
716        can be overridden.
717
7182007-07-22 18:42  gb
719
720        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
721        *MODULE-SEARCH-PATH*.
722
7232007-07-22 18:41  gb
724
725        * level-1/l1-format.lisp: Handling of * format directive when
726        dealing with circularity screws up other things that expect
727        *FORMAT-ARGUMENTS* to share structure with
728        *FORMAT-ORIGINAL-ARGUMENTS*.
729
7302007-07-22 18:40  gb
731
732        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
733        ENSURE-DIRECTORY-NAMESTRING.
734
7352007-07-22 18:40  gb
736
737        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
738        interactive break.
739
7402007-07-22 18:39  gb
741
742        * level-1/l1-error-system.lisp: Stream error context stuff.
743
7442007-07-22 18:38  gb
745
746        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
747        (e.g., as NSExceptions.)
748
7492007-07-22 18:37  gb
750
751        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
752        CLASS-SLOT-INITARGS.
753
7542007-07-22 18:36  gb
755
756        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
757        allocation stuff (which uses mmap to ensure that the callback is in
758        executable memory) here, since it'll be needed on ppc64 leopard, at
759        least.
760
7612007-07-22 18:35  gb
762
763        * level-1/l1-application.lisp: Argument handling and interactive
764        stream initialization happens in a :before method on
765        (toplevel-function application).
766
7672007-07-22 18:34  gb
768
769        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
770        special args/locals, too.
771
7722007-07-22 18:33  gb
773
774        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
775        for backtrace/inspect someday.
776
7772007-07-22 18:33  gb
778
779        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
780
7812007-07-22 18:32  gb
782
783        * lib/macros.lisp: Callbacks that try to do magic foreign error
784        stuff use HANDLER-BIND, not HANDLER-CASE.
785       
786        Other callback-changes to reduce incidental consing sometimes.
787
7882007-07-22 18:31  gb
789
790        * lib/backtrace.lisp: %show-args-and-locals,
791        %stack-frames-in-context: changes for new backtrace presentation.
792
7932007-07-22 18:30  gb
794
795        * lib/compile-ccl.lisp: Remove some duplicate definitions.
796
7972007-07-22 18:29  gb
798
799        * lib/describe.lisp: Some (signigicant) stack-frame changes.
800
8012007-07-22 18:28  gb
802
803        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
804
8052007-07-22 18:27  gb
806
807        * lib/arglist.lisp: Provide -some- arglist info for special
808        operators.  ARG-NAMES-FROM-MAP.
809
8102007-07-22 18:27  gb
811
812        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
813
8142007-07-22 18:26  gb
815
816        * lib/source-files.lisp: Comment formatting.
817
8182007-07-22 18:25  gb
819
820        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
821        to provide context.
822
8232007-07-22 18:24  gb
824
825        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
826        get confused by null register values, etc.
827
8282007-07-22 18:23  gb
829
830        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
831        not ppc32/ppc64.
832
8332007-07-22 18:22  gb
834
835        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
836        64-bit key-scrambling stuff.
837
8382007-07-22 18:21  gb
839
840        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
841
8422007-07-22 18:21  gb
843
844        * level-0/l0-utils.lisp: s32->u32, u32->s32.
845
8462007-07-22 18:20  gb
847
848        * level-0/l0-error.lisp: foreign exception error stuff.
849
8502007-07-22 18:19  gb
851
852        * level-1/l1-sockets.lisp: Sockets created with :format :binary
853        don't have element-type of character, though this crap is all
854        pretty nebulous.
855
8562007-07-22 18:18  gb
857
858        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
859
8602007-07-22 18:17  gb
861
862        * library/pty.lisp: set-pty-raw.
863
8642007-07-22 18:16  gb
865
866        * library/hemlock.lisp: Moved elsewhere.
867
8682007-07-22 18:15  gb
869
870        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
871        frames.
872
8732007-07-22 18:14  gb
874
875        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
876
8772007-07-22 18:14  gb
878
879        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
880        exception bit on interrupt.
881
8822007-07-22 18:13  gb
883
884        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
885        tcr flag bits, including new one for foreign exceptions.
886
8872007-07-22 18:12  gb
888
889        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
890
8912007-07-22 18:11  gb
892
893        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
894        exceptions.
895
8962007-07-22 18:10  gb
897
898        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
899        stack for pthread.  Foreign exception callbacks: put some 0s on the
900        stack for callback.
901
9022007-07-22 18:09  gb
903
904        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
905
9062007-07-22 18:08  gb
907
908        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
909        ensure_stack_limit(): if stack size is constrained by limits, don't
910        exceed those limits.
911
9122007-07-22 18:08  gb
913
914        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
915
9162007-07-22 18:07  gb
917
918        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
919
9202007-07-22 18:06  gb
921
922        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
923
9242007-07-22 18:03  gb
925
926        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
927        OpenMCL.app/Contents/MacOS/dppccl,
928        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
929        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
930        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
931        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
932        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
933        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
934        ib,
935        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
936        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
937        cts.nib,
938        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
939        lasses.nib,
940        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
941        nfo.nib,
942        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
943        eyedobjects.nib,
944        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
945        nib,
946        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
947        ,
948        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
949        ects.nib,
950        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
951        .nib,
952        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
953        b,
954        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
955        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
956        OpenMCL.app/Contents/Resources/Help/index.html,
957        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
958        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
959        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
960        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
961        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
962        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
963        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
964        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
965        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
966        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
967        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
968        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
969        rings,
970        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
971        /classes.nib,
972        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
973        /info.nib,
974        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
975        /keyedobjects.nib,
976        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
977        ctor.nib/classes.nib,
978        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
979        ctor.nib/info.nib,
980        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
981        ctor.nib/keyedobjects.nib,
982        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
983        b/classes.nib,
984        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
985        b/info.nib,
986        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
987        b/keyedobjects.nib,
988        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
989        ib/classes.nib,
990        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
991        ib/info.nib,
992        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
993        ib/keyedobjects.nib,
994        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
995        ib/classes.nib,
996        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
997        ib/info.nib,
998        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
999        ib/keyedobjects.nib,
1000        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1001        nib/classes.nib,
1002        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1003        nib/info.nib,
1004        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1005        nib/keyedobjects.nib,
1006        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1007        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1008        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1009        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1010        cocoa-ide/hemlock/hemlock11.cursor,
1011        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1012        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1013        cocoa-ide/hemlock/doc/.cvsignore,
1014        cocoa-ide/hemlock/doc/cim/.cvsignore,
1015        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1016        cocoa-ide/hemlock/doc/cim/cim.mss,
1017        cocoa-ide/hemlock/doc/misc/.cvsignore,
1018        cocoa-ide/hemlock/doc/misc/compilation.order,
1019        cocoa-ide/hemlock/doc/misc/hemlock.log,
1020        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1021        cocoa-ide/hemlock/doc/misc/notes.txt,
1022        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1023        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1024        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1025        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1026        cocoa-ide/hemlock/doc/user/.cvsignore,
1027        cocoa-ide/hemlock/doc/user/commands.mss,
1028        cocoa-ide/hemlock/doc/user/intro.mss,
1029        cocoa-ide/hemlock/doc/user/lisp.mss,
1030        cocoa-ide/hemlock/doc/user/mail.mss,
1031        cocoa-ide/hemlock/doc/user/netnews.mss,
1032        cocoa-ide/hemlock/doc/user/special-modes.mss,
1033        cocoa-ide/hemlock/doc/user/user.mss,
1034        cocoa-ide/hemlock/maint/.cvsignore,
1035        cocoa-ide/hemlock/maint/publish,
1036        cocoa-ide/hemlock/resources/.cvsignore,
1037        cocoa-ide/hemlock/resources/XKeysymDB,
1038        cocoa-ide/hemlock/resources/mh-scan,
1039        cocoa-ide/hemlock/resources/spell-dictionary.text,
1040        cocoa-ide/hemlock/src/.cvsignore,
1041        cocoa-ide/hemlock/src/bindings-gb.lisp,
1042        cocoa-ide/hemlock/src/bindings.lisp,
1043        cocoa-ide/hemlock/src/buffer.lisp,
1044        cocoa-ide/hemlock/src/charmacs.lisp,
1045        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1046        cocoa-ide/hemlock/src/command.lisp,
1047        cocoa-ide/hemlock/src/comments.lisp,
1048        cocoa-ide/hemlock/src/completion.lisp,
1049        cocoa-ide/hemlock/src/cursor.lisp,
1050        cocoa-ide/hemlock/src/decls.lisp,
1051        cocoa-ide/hemlock/src/defsyn.lisp,
1052        cocoa-ide/hemlock/src/doccoms.lisp,
1053        cocoa-ide/hemlock/src/echo.lisp,
1054        cocoa-ide/hemlock/src/echocoms.lisp,
1055        cocoa-ide/hemlock/src/edit-defs.lisp,
1056        cocoa-ide/hemlock/src/filecoms.lisp,
1057        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1058        cocoa-ide/hemlock/src/font.lisp,
1059        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1060        cocoa-ide/hemlock/src/htext1.lisp,
1061        cocoa-ide/hemlock/src/htext2.lisp,
1062        cocoa-ide/hemlock/src/htext3.lisp,
1063        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1064        cocoa-ide/hemlock/src/indent.lisp,
1065        cocoa-ide/hemlock/src/interp.lisp,
1066        cocoa-ide/hemlock/src/kbdmac.lisp,
1067        cocoa-ide/hemlock/src/key-event.lisp,
1068        cocoa-ide/hemlock/src/keysym-defs.lisp,
1069        cocoa-ide/hemlock/src/killcoms.lisp,
1070        cocoa-ide/hemlock/src/line.lisp,
1071        cocoa-ide/hemlock/src/linimage.lisp,
1072        cocoa-ide/hemlock/src/lispdep.lisp,
1073        cocoa-ide/hemlock/src/lispmode.lisp,
1074        cocoa-ide/hemlock/src/listener.lisp,
1075        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1076        cocoa-ide/hemlock/src/modeline.lisp,
1077        cocoa-ide/hemlock/src/morecoms.lisp,
1078        cocoa-ide/hemlock/src/package.lisp,
1079        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1080        cocoa-ide/hemlock/src/register.lisp,
1081        cocoa-ide/hemlock/src/ring.lisp,
1082        cocoa-ide/hemlock/src/rompsite.lisp,
1083        cocoa-ide/hemlock/src/search1.lisp,
1084        cocoa-ide/hemlock/src/search2.lisp,
1085        cocoa-ide/hemlock/src/searchcoms.lisp,
1086        cocoa-ide/hemlock/src/srccom.lisp,
1087        cocoa-ide/hemlock/src/streams.lisp,
1088        cocoa-ide/hemlock/src/struct.lisp,
1089        cocoa-ide/hemlock/src/syntax.lisp,
1090        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1091        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1092        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1093        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1094        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1095        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1096        cocoa-ide/hemlock/src/archive/bufed.lisp,
1097        cocoa-ide/hemlock/src/archive/debug.lisp,
1098        cocoa-ide/hemlock/src/archive/dired.lisp,
1099        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1100        cocoa-ide/hemlock/src/archive/display.lisp,
1101        cocoa-ide/hemlock/src/archive/dylan.lisp,
1102        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1103        cocoa-ide/hemlock/src/archive/group.lisp,
1104        cocoa-ide/hemlock/src/archive/highlight.lisp,
1105        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1106        cocoa-ide/hemlock/src/archive/input.lisp,
1107        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1108        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1109        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1110        cocoa-ide/hemlock/src/archive/mh.lisp,
1111        cocoa-ide/hemlock/src/archive/netnews.lisp,
1112        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1113        cocoa-ide/hemlock/src/archive/pascal.lisp,
1114        cocoa-ide/hemlock/src/archive/rcs.lisp,
1115        cocoa-ide/hemlock/src/archive/screen.lisp,
1116        cocoa-ide/hemlock/src/archive/scribe.lisp,
1117        cocoa-ide/hemlock/src/archive/shell.lisp,
1118        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1119        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1120        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1121        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1122        cocoa-ide/hemlock/src/archive/srccom.lisp,
1123        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1124        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1125        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1126        cocoa-ide/hemlock/src/archive/window.lisp,
1127        cocoa-ide/hemlock/src/archive/winimage.lisp,
1128        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1129        cocoa-ide/hemlock/src/elisp/.cvsignore,
1130        cocoa-ide/hemlock/src/elisp/base.lisp,
1131        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1132        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1133        cocoa-ide/hemlock/src/elisp/compile.lisp,
1134        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1135        cocoa-ide/hemlock/src/elisp/implementation-needed,
1136        cocoa-ide/hemlock/src/elisp/internals.lisp,
1137        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1138        cocoa-ide/hemlock/src/elisp/packages.lisp,
1139        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1140        cocoa-ide/hemlock/src/spell/.cvsignore,
1141        cocoa-ide/hemlock/src/spell/build.lisp,
1142        cocoa-ide/hemlock/src/spell/classes.lisp,
1143        cocoa-ide/hemlock/src/spell/constants.lisp,
1144        cocoa-ide/hemlock/src/spell/correlate.lisp,
1145        cocoa-ide/hemlock/src/spell/flags.lisp,
1146        cocoa-ide/hemlock/src/spell/hashing.lisp,
1147        cocoa-ide/hemlock/src/spell/io.lisp,
1148        cocoa-ide/hemlock/src/spell/package.lisp,
1149        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1150        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1151        cocoa-ide/hemlock/src/spell/spell.asd,
1152        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1153        cocoa-ide/hemlock/src/tty/.cvsignore,
1154        cocoa-ide/hemlock/src/tty/termcap.lisp,
1155        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1156        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1157        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1158        cocoa-ide/hemlock/src/wire/.cvsignore,
1159        cocoa-ide/hemlock/src/wire/Notes,
1160        cocoa-ide/hemlock/src/wire/package.lisp,
1161        cocoa-ide/hemlock/src/wire/port.lisp,
1162        cocoa-ide/hemlock/src/wire/remote.lisp,
1163        cocoa-ide/hemlock/src/wire/wire.lisp,
1164        cocoa-ide/hemlock/unused/.cvsignore,
1165        cocoa-ide/hemlock/unused/bit-stream.lisp,
1166        cocoa-ide/hemlock/unused/clx-ext.lisp,
1167        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1168        cocoa-ide/hemlock/unused/gosmacs.lisp,
1169        cocoa-ide/hemlock/unused/hacks.lisp,
1170        cocoa-ide/hemlock/unused/hemcom.lisp,
1171        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1172        cocoa-ide/hemlock/unused/keytran.lisp,
1173        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1174        cocoa-ide/hemlock/unused/spell-build.lisp,
1175        cocoa-ide/hemlock/unused/struct-ed.lisp,
1176        cocoa-ide/hemlock/unused/tty-stream.lisp,
1177        cocoa-ide/hemlock/website/.cvsignore,
1178        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1179        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1180        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1181        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1182        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1183        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1184        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1185        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1186        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1187        examples/objc-clos.lisp, examples/objc-package.lisp,
1188        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1189        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1190        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1191        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1192        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1193        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1194        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1195        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1196        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1197        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1198        hemlock/doc/misc/perq-hemlock.log,
1199        hemlock/doc/misc/things-to-do.txt,
1200        hemlock/doc/scribe-converter/.cvsignore,
1201        hemlock/doc/scribe-converter/NOTES,
1202        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1203        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1204        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1205        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1206        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1207        hemlock/maint/publish, hemlock/resources/.cvsignore,
1208        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1209        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1210        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1211        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1212        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1213        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1214        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1215        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1216        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1217        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1218        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1219        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1220        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1221        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1222        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1223        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1224        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1225        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1226        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1227        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1228        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1229        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1230        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1231        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1232        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1233        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1234        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1235        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1236        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1237        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1238        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1239        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1240        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1241        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1242        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1243        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1244        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1245        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1246        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1247        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1248        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1249        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1250        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1251        hemlock/src/table.lisp, hemlock/src/text.lisp,
1252        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1253        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1254        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1255        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1256        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1257        hemlock/src/elisp/base.lisp,
1258        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1259        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1260        hemlock/src/elisp/hemlock-shims.lisp,
1261        hemlock/src/elisp/implementation-needed,
1262        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1263        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1264        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1265        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1266        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1267        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1268        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1269        hemlock/src/spell/spell-aug.lisp,
1270        hemlock/src/spell/spell-dictionary.text,
1271        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1272        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1273        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1274        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1275        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1276        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1277        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1278        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1279        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1280        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1281        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1282        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1283        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1284        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1285        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1286        objc-bridge/fake-cfbundle-path.lisp,
1287        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1288        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1289        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1290        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1291        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1292        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1293        things moved from "examples" to one of these directories,
1294        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1295        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1296        "ide-1.0" branch for details.
1297
12982007-06-15 19:10  gb
1299
1300        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1301
13022007-06-15 14:10  gb
1303
1304        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1305        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1306        (shouldn't get here if we're catching that upstream, but ...)
1307
13082007-06-01 08:34  gb
1309
1310        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1311        caught most places.
1312
13132007-06-01 08:33  gb
1314
1315        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1316        if it can't find the package, accepts a stream argument in order to
1317        signal that type of error.  (Note that this has never been
1318        recoverable in general, especially in the case where the input
1319        stream is *terminal-io* or shares its input stream.)
1320
13212007-06-01 08:32  gb
1322
1323        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1324        reporting themselves.
1325
13262007-06-01 08:31  gb
1327
1328        * level-1/l1-error-system.lisp: Define and use
1329        STREAM-ERROR-CONTEXT.
1330
13312007-06-01 08:30  gb
1332
1333        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1334        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1335        probably have been caught earlier.
1336
13372007-06-01 08:29  gb
1338
1339        * level-1/l1-streams.lisp: Try to provide some context -
1340        "surrounding characters" - for reader/stream errors on character
1341        input streams.
1342
13432007-06-01 08:28  gb
1344
1345        * level-1/l1-unicode.lisp: Get number of args right in call to
1346        STRING-ENCODED-LENGTH-IN-BYTES from
1347        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1348
13492007-06-01 08:28  gb
1350
1351        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1352        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1353        order.  Both functions are usually open-coded (and the inlined
1354        versions seem to be OK), but the ObjC bridge funcalls these
1355        functions when getting/setting foreign slots of the appropriate
1356        type.
1357
13582007-06-01 08:27  gb
1359
1360        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1361        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1362        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1363
13642007-06-01 08:26  gb
1365
1366        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1367        all of it" case in %CSTR-POINTER; deal with all other cases in
1368        %CSTR-SEGMENT-POINTER.
1369
13702007-06-01 08:25  gb
1371
1372        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1373        under return address, exception callback frame (xcf) on stack.
1374       
1375        handle-udf-call: don't try to fix up the stack if we try to
1376        continue; let kernel deal with this after the callback.
1377
13782007-06-01 08:24  gb
1379
1380        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1381        return address on the top of the stack when this is entered
1382        (#-of-arguments traps).  Put it in the right place when building
1383        the frame.
1384       
1385        create_exception_callback_frame: look for tra on top of lisp stack,
1386        not in register (usually.)
1387       
1388        handle_error(): if we return after calling out for int #xc7 (call
1389        to undefined function), fix up the stack and other registers so
1390        that we can return the value(s) returned by the lisp-side handler.
1391        (It's hard for the lisp-side handler to do the stack manipulation,
1392        because of the xcf on the stack and because of the need to deal
1393        with the return address on the stack.)
1394
13952007-06-01 08:23  gb
1396
1397        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1398        lea/jmp: push ra0 on stack before trap, for the benefit of
1399        create_exception_callback_frame().
1400
14012007-06-01 08:22  gb
1402
1403        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1404
14052007-06-01 08:22  gb
1406
1407        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1408        write a BOM here.
1409
14102007-06-01 08:21  gb
1411
1412        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1413        since the switch to the new tra scheme.
1414
14152007-06-01 08:19  gb
1416
1417        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1418        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1419
14202007-05-12 18:27  gb
1421
1422        * release-notes.txt: Update for 070512.
1423
14242007-05-12 18:27  gb
1425
1426        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1427
14282007-05-12 18:26  gb
1429
1430        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1431
14322007-05-12 18:25  gb
1433
1434        * level-1/version.lisp: Bump.
1435
14362007-05-12 18:24  gb
1437
1438        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1439        heap by more than what we need if GC is obviously disabled.
1440
14412007-05-12 18:23  gb
1442
1443        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1444        suppress overflow checking in some cases.
1445
14462007-05-12 18:22  gb
1447
1448        * compiler/X86/x862.lisp: Fix indentation.
1449
14502007-05-12 18:22  gb
1451
1452        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1453        beyond segment if GC (obviously) disabled.
1454
14552007-05-12 18:21  gb
1456
1457        * level-1/l1-streams.lisp: Fix typo.
1458
14592007-05-12 18:20  gb
1460
1461        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1462        separate character encode/decode limits.
1463
14642007-05-12 18:19  gb
1465
1466        * level-1/l1-unicode.lisp: Start to bootstrap separate
1467        encode/decode limits.
1468
14692007-05-12 18:18  gb
1470
1471        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1472        nonsense when referencing mxcsr in debug_show_fpu().
1473
14742007-05-12 18:17  gb
1475
1476        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1477        earlier.  Sheesh.
1478
14792007-05-12 18:17  gb
1480
1481        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1482
14832007-05-12 18:16  gb
1484
1485        * level-1/version.lisp: Bump, for now.
1486
14872007-05-12 18:15  gb
1488
1489        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1490        ABI version.
1491
14922007-05-12 18:14  gb
1493
1494        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1495        new TRA interpretation.
1496
14972007-05-12 18:13  gb
1498
1499        * lisp-kernel/x86-spjump64.s: nmkunwind.
1500
15012007-05-12 18:12  gb
1502
1503        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1504        nMake_Catch handles return addresses on stack.  repret, for use
1505        when a one-byte ret instruction is a branch target or is preceded
1506        by a conditional branch.
1507
15082007-05-12 18:11  gb
1509
1510        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1511        exception contexts.
1512
15132007-05-12 18:11  gb
1514
1515        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1516        exception context; new TRA handling.
1517
15182007-05-12 18:10  gb
1519
1520        * lisp-kernel/x86-exceptions.c: New tra handling.
1521        new_heap_segment: try to avoid requesting too much when user sets
1522        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1523        down to fault handler, don't call out to lisp on faults in foreign
1524        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1525
15262007-05-12 18:08  gb
1527
1528        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1529        assignments.
1530
15312007-05-12 18:07  gb
1532
1533        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1534        sequence.
1535
15362007-05-12 18:06  gb
1537
1538        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1539
15402007-05-12 18:05  gb
1541
1542        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1543        that're branch targets or that follow conditional branches.
1544
15452007-05-12 18:04  gb
1546
1547        * lisp-kernel/thread_manager.c: Conditionalize for
1548        USE_MACH_EXCEPTION_LOCK.
1549
15502007-05-12 18:03  gb
1551
1552        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1553
15542007-05-12 18:02  gb
1555
1556        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1557        explicit blr.
1558
15592007-05-12 18:01  gb
1560
1561        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1562         Gee, I hope that works.
1563
15642007-05-12 18:00  gb
1565
1566        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1567
15682007-05-12 17:59  gb
1569
1570        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1571        using the mechanism.
1572
15732007-05-12 17:59  gb
1574
1575        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1576        extend with (possibly very large) lisp_heap_gc_threshold, try
1577        smaller values.
1578       
1579        Pass "old_valence" to exception handlers; don't call out to lisp on
1580        memory faults from foreign code.
1581
15822007-05-12 17:58  gb
1583
1584        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1585
15862007-05-12 17:57  gb
1587
1588        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1589        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1590        be correct/necessary.
1591
15922007-05-12 17:56  gb
1593
1594        * lisp-kernel/lisp-debug.c: lisp register display changes for
1595        x86-64.  Get FPU display working on x86-64.
1596
15972007-05-12 17:55  gb
1598
1599        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1600        calling-sequence change.
1601
16022007-05-12 17:54  gb
1603
1604        * lisp-kernel/image.h: New ABI version.
1605
16062007-05-12 17:54  gb
1607
1608        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1609        could; if only I could ...
1610
16112007-05-12 17:53  gb
1612
1613        * lib/x8664env.lisp: More imm temps! (one more ...).
1614
16152007-05-12 17:52  gb
1616
1617        * lib/nfcomp.lisp: Bump current fasl version.
1618
16192007-05-12 17:51  gb
1620
1621        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1622        in cross-compiled code.
1623
16242007-05-12 17:50  gb
1625
1626        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1627        interface dir, because of cross-compilation issues.
1628
16292007-05-12 17:49  gb
1630
1631        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1632        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1633
16342007-05-12 17:49  gb
1635
1636        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1637        transition.
1638
16392007-05-12 17:48  gb
1640
1641        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1642
16432007-05-12 17:47  gb
1644
1645        * lib/encapsulate.lisp: Add a comment.
1646
16472007-05-12 17:46  gb
1648
1649        * library/hash-cons.lisp: Very small lap change.
1650
16512007-05-12 17:45  gb
1652
1653        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1654        %FIXNUM-SET-MACPTR elsewhere.
1655
16562007-05-12 17:44  gb
1657
1658        * level-1/linux-files.lisp: File-mapped vectors.
1659
16602007-05-12 17:43  gb
1661
1662        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1663        :new-version if pathname-version of filename is :NEWEST.
1664
16652007-05-12 17:43  gb
1666
1667        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1668        with a CONDITION object.
1669
16702007-05-12 17:42  gb
1671
1672        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1673
16742007-05-12 17:41  gb
1675
1676        * level-1/l1-pathnames.lisp: If there's no host component in a
1677        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1678
16792007-05-12 17:40  gb
1680
1681        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1682        listener stack sizes now static.
1683
16842007-05-12 17:39  gb
1685
1686        * level-1/l1-files.lisp: Pathname arcana.
1687
16882007-05-12 17:38  gb
1689
1690        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1691        SIGINT.
1692
16932007-05-12 17:38  gb
1694
1695        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1696        changes.
1697
16982007-05-12 17:37  gb
1699
1700        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1701       
1702        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1703
17042007-05-12 17:36  gb
1705
1706        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1707
17082007-05-12 17:35  gb
1709
1710        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1711        here.
1712
17132007-05-12 17:34  gb
1714
1715        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1716
17172007-05-12 17:33  gb
1718
1719        * level-0/X86/x86-utils.lisp: New calling sequence.
1720
17212007-05-12 17:32  gb
1722
1723        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1724        EQL.
1725
17262007-05-12 17:32  gb
1727
1728        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1729        be careful with %rcx (now %imm2) in shift instructions.
1730
17312007-05-12 17:30  gb
1732
1733        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1734        sequence.
1735
17362007-05-12 17:29  gb
1737
1738        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1739        new-calling-sequence changes.
1740
17412007-05-12 17:27  gb
1742
1743        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1744        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1745        %temp2, and no need to be so careful with it.
1746
17472007-05-12 17:26  gb
1748
1749        * compiler/vinsn.lisp: global label-valued temporaries.
1750
17512007-05-12 17:25  gb
1752
1753        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1754
17552007-05-12 17:24  gb
1756
1757        * compiler/nx0.lisp: Try to do a little type inference for more
1758        flavors of AREF.
1759
17602007-05-12 17:23  gb
1761
1762        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1763        afunc (or equivalent) as a non-nil second value.
1764
17652007-05-12 17:22  gb
1766
1767        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1768        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1769        less nasty.
1770
17712007-05-12 17:21  gb
1772
1773        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1774        calling sequence, new tra/talign scheme.
1775
17762007-05-12 17:21  gb
1777
1778        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1779        rip)).
1780
17812007-05-12 17:20  gb
1782
1783        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1784        rip-relative label refs.
1785
17862007-05-12 17:19  gb
1787
1788        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1789        support :talign directive in vinsn templates.
1790
17912007-05-12 17:18  gb
1792
1793        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1794        is a register ...
1795
17962007-05-12 17:17  gb
1797
1798        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1799        for most things, except calls to subprims that manipulate the
1800        stack.
1801
18022007-05-12 17:16  gb
1803
1804        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1805        cross-compilation with x86-64 targets a little easier, by using a
1806        cross-ftd interface directory.
1807
18082007-05-12 17:16  gb
1809
1810        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1811        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1812        scheme.
1813
18142007-05-12 17:15  gb
1815
1816        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1817        unwind-protect uses nmkunwind (more happens out-of-line.)
1818
18192007-05-12 17:14  gb
1820
1821        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1822
18232007-05-12 17:13  gb
1824
1825        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1826
18272007-05-12 17:12  gb
1828
1829        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1830
18312007-05-12 17:11  gb
1832
1833        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1834        %GET-KERNEL-GLOBAL-PTR actually work.
1835
18362007-05-07 19:10  gb
1837
1838        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1839        returns a CONS, signal the right flavor of TYPE-ERROR if it
1840        doesn't.
1841
18422007-05-05 18:10  gb
1843
1844        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1845        the hash table, it tries to enable the GC before doing so.
1846
18472007-05-04 22:10  gb
1848
1849        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1850        finds in the environment, not just non-nil.
1851
18522007-05-01 18:10  gb
1853
1854        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1855        computation for GC-VERBOSE entry.
1856
18572007-05-01 06:11  gb
1858
1859        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1860        utf-16 variants.
1861       
1862        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1863        function.
1864
18652007-05-01 06:10  gb
1866
1867        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1868        darwin ppc64 thread state structure, just like Apple does.  Can I
1869        blame them for getting this wrong, please ?
1870       
1871        Use the right argument names in ppc64 cmain callback; can't blame
1872        Apple.
1873
18742007-04-30 23:12  gb
1875
1876        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1877        on Darwin, and should probably be removed completely.  Now that
1878        it's explicitly extern, don't try to reference it at runtime on
1879        linuxppc.
1880
18812007-04-30 23:11  gb
1882
1883        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1884        referenced at runtime and explicitly extern, so make sure that it's
1885        initialized on all platforms.
1886
18872007-04-30 23:10  gb
1888
1889        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1890        oxymoron - is specific to Darwin.
1891
18922007-04-21 00:10  gb
1893
1894        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1895        directory after translating logical pathnames; it's generally
1896        meaningless to do PROBE-FILE on the directory component of a
1897        logical pathname.
1898
18992007-04-19 15:10  gb
1900
1901        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1902        if it conflicts with an immediate temporary (we'll need all the imm
1903        temps we have on x86-64.)
1904
19052007-04-17 20:10  gb
1906
1907        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1908        version of recent aset2/aset3 register-conflict changes.
1909
19102007-04-16 15:10  gb
1911
1912        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1913        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1914
19152007-04-16 14:11  gb
1916
1917        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1918        :signed-doublewod.
1919
19202007-04-16 13:10  gb
1921
1922        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1923        Memory-fault errors on PPC, too.
1924
19252007-04-16 04:34  gb
1926
1927        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1928        renaming nonsense.
1929
19302007-04-16 02:12  gb
1931
1932        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1933
19342007-04-16 02:11  gb
1935
1936        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1937
19382007-04-16 02:10  gb
1939
1940        * level-1/l1-error-system.lisp: Change wording of
1941        INVALID-MEMORY-ACCESS error message, a little.
1942
19432007-04-16 01:13  gb
1944
1945        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1946        memory faults.
1947
19482007-04-16 01:12  gb
1949
1950        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1951        now.
1952
19532007-04-16 01:11  gb
1954
1955        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1956        INVALID-MEMORY-ACCESS condition.
1957
19582007-04-16 01:10  gb
1959
1960        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1961
19622007-04-15 19:11  gb
1963
1964        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1965        aset2/aset3 changes.
1966
19672007-04-15 19:10  gb
1968
1969        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1970        it's an imm-reg; we need another imm-reg to do some index
1971        calculations.
1972
19732007-04-14 18:10  gb
1974
1975        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
1976        unscramble what it means for an interrupt to be pending on x86-64.
1977
19782007-04-14 00:13  gb
1979
1980        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
1981        generated when it is in ... unmentionable OS releases.
1982
19832007-04-14 00:11  gb
1984
1985        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
1986        work around laughable Apple ld64 gibberish.
1987
19882007-04-12 02:11  gb
1989
1990        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
1991        two-dimensional arrays: need to target specific registers if array
1992        has element type T.
1993
19942007-04-12 02:10  gb
1995
1996        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
1997        appropriate, not :x86-64 twice.
1998
19992007-04-11 05:10  gb
2000
2001        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2002        for bivalent streams.
2003       
2004        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2005        maintain the element-type separately, just look in ioblock.
2006        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2007
20082007-04-10 22:10  gb
2009
2010        * lisp-kernel/x86-spentry64.s: Branch at
2011        C(egc_store_node_conditional_success_test) should bracnch
2012        backwards, not forwards.  (This was leading to spurious
2013        "<something> is not a proper list" errors, because the next label
2014        named "0" is in middle of the the _SPprogvsage code that tests for
2015        a proper list.)
2016
20172007-04-10 00:11  gb
2018
2019        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2020        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2021        RLET or equivalent to avoid making GCable pointers for ObjC
2022        dispatch function args; trust the compiler to do that for us.
2023
20242007-04-10 00:10  gb
2025
2026        * examples/bridge.lisp: If any method defined on a message passes a
2027        structure by value, install a compiler macro on the dispatch
2028        function.
2029       
2030        In that compiler, look for apparent calls to know structure
2031        constructors; replace those with calls to the corresponding
2032        initialization function, and stack-allocate a structure instance
2033        around the call.  (Suggested by Kevin Reid, and something that
2034        SEND/SLET did - sort of - that the new approach didn't.)
2035       
2036        Keep track of info about common foreign structs (initializer,
2037        constructor, etc.) to make doing stuff like this easier.
2038
20392007-04-09 16:10  gb
2040
2041        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2042        the result of sending the init message is a null pointer, return a
2043        null pointer.
2044
20452007-04-09 00:10  gb
2046
2047        * release-notes.txt: Update for 070408.
2048       
2049        (Yes, it's 070409 here already ...)
2050
20512007-04-08 15:12  gb
2052
2053        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2054
20552007-04-08 15:10  gb
2056
2057        * xdump/faslenv.lisp: Bump min fasl version.
2058
20592007-04-08 14:11  gb
2060
2061        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2062        jump table, to work around (still more) Apple ld64 nonsense.
2063
20642007-04-08 13:14  gb
2065
2066        * lib/nfcomp.lisp: Bump current fasl version.
2067
20682007-04-08 13:13  gb
2069
2070        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2071
20722007-04-08 13:12  gb
2073
2074        * xdump/faslenv.lisp: Bump max fasl version.
2075
20762007-04-08 13:11  gb
2077
2078        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2079        people who try to build this kernel on an x86 mac will take longer
2080        to realize that that's usually a bad idea.
2081
20822007-04-08 12:09  gb
2083
2084        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2085        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2086        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2087        cocoa-window.lisp, cocoa.lisp:
2088        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2089       
2090        Some changes in font, nsstring stuff to avoid using deprecated
2091        featurs.
2092
20932007-04-08 12:07  gb
2094
2095        * examples/: webkit.lisp, addressbook.lisp:
2096        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2097       
2098        Use OBJC:LOAD-FRAMEWORK.
2099
21002007-04-08 12:06  gb
2101
2102        * examples/tiny.lisp:
2103        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2104
21052007-04-08 12:05  gb
2106
2107        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2108        rubix.lisp:
2109        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2110       
2111        Handle CGFLOAT issues in mouse event handlers.
2112
21132007-04-08 12:04  gb
2114
2115        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2116       
2117        Define "foreign struct classes" for several common structure types
2118        (rectangle, point, size); generate inlined accessors for their
2119        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2120        macros.
2121       
2122        #/ reader macro: reads a string containing "constituent" characters
2123        (including #\:), preserving case.  Does a little bit of
2124        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2125        package.
2126       
2127        Try to deal with cases where foreign type info may be parsed or
2128        unparsed.
2129       
2130        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2131         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2132        message info, tries to determine ambiguity, calls signature
2133        function (possibly after trying to resolve ambiguity.)
2134       
2135        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2136        calling a signature function that knows how to dispatch to SUPER
2137        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2138       
2139        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2140        OBJC-DISPATCH-FUNCTION.
2141       
2142        Handle PROTOCOLs differently in ambiguous SEND.
2143
21442007-04-08 12:04  gb
2145
2146        * examples/objc-runtime.lisp: Compile message send functions per
2147        signature.  Handle vararg message sends, partly at runtime.  INIT
2148        messages just have their signature info precomputed.  Defining a
2149        named OBJC-CLASS makes the class name a static variable whose value
2150        is the class (and likewise for the metaclass.)
2151        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2152        OBJC:DEFMETHOD and support for it.
2153
21542007-04-08 12:03  gb
2155
2156        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2157         Avoid some deprecated C-string stuff (but wimp out and assume
2158        ASCII.) Keep track of objc-class-count, provide
2159        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2160        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2161        etc. elsewhere.
2162
21632007-04-08 12:02  gb
2164
2165        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2166        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2167        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2168        about as lightweight as MAKE-OBJC-INSTANCE.)
2169
21702007-04-08 12:01  gb
2171
2172        * examples/name-translation.lisp:
2173        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2174        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2175
21762007-04-08 12:00  gb
2177
2178        * examples/objc-package.lisp: New file; export more stuff.  Import
2179        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2180        pseudo-GFs.
2181
21822007-04-08 11:59  gb
2183
2184        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2185        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2186        Intern integer types up to 64 bits.
2187
21882007-04-08 11:59  gb
2189
2190        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2191        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2192        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2193        COPY-RECORD.
2194
21952007-04-08 11:58  gb
2196
2197        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2198        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2199        missing brackets.
2200
22012007-04-08 11:57  gb
2202
2203        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2204        not Darwin.  In Darwin, evactuate off of the lisp stack while
2205        interrupts are still disabled.
2206
22072007-04-08 11:56  gb
2208
2209        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2210        (where Apple hasn't yet invented the notion that it needs to be
2211        thread-specific.)
2212
22132007-04-08 11:55  gb
2214
2215        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2216        destroying TCR.
2217
22182007-04-08 11:54  gb
2219
2220        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2221        worked around an old Darwin bug.
2222
22232007-04-08 11:53  gb
2224
2225        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2226
22272007-04-08 11:52  gb
2228
2229        * lisp-kernel/image.c: Don't nuke null pointers.
2230
22312007-04-08 11:52  gb
2232
2233        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2234
22352007-04-08 11:51  gb
2236
2237        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2238        of macptr.domain, macptr.type.
2239
22402007-04-08 11:50  gb
2241
2242        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2243
22442007-04-08 11:49  gb
2245
2246        * library/lispequ.lisp: add pkg.intern-hook to package.
2247
22482007-04-08 11:48  gb
2249
2250        * lib/describe.lisp: Start trying to conditionalize some of the
2251        stack-frame inspector stuff.
2252
22532007-04-08 11:48  gb
2254
2255        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2256        64-bit word components, with FP fields passed in registers.  This
2257        requires some special handling ("hybrid" parameters) in the
2258        compiler and %FF-CALL.
2259
22602007-04-08 11:47  gb
2261
2262        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2263        endianness.
2264
22652007-04-08 11:46  gb
2266
2267        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2268
22692007-04-08 11:45  gb
2270
2271        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2272        in %SOURCE-FILES-LIKE-EM.
2273
22742007-04-08 11:44  gb
2275
2276        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2277
22782007-04-08 11:43  gb
2279
2280        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2281        MAKE-XREF-ENTRY.
2282
22832007-04-08 11:43  gb
2284
2285        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2286
22872007-04-08 11:42  gb
2288
2289        * level-1/version.lisp: Bump; new snapshots tomorrow.
2290
22912007-04-08 11:41  gb
2292
2293        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2294
22952007-04-08 11:40  gb
2296
2297        * level-1/linux-files.lisp: Very long timeout for
2298        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2299        if we have to wait at all.
2300       
2301        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2302       
2303        Make PIPE code slightly easier to read.
2304
23052007-04-08 11:39  gb
2306
2307        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2308
23092007-04-08 11:38  gb
2310
2311        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2312        CHARACTER-ENCODING, use it to determine number/sequence of octets
2313        used to encode NUL.
2314
23152007-04-08 11:38  gb
2316
2317        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2318       
2319        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2320        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2321        so that echoing looks more natural.
2322
23232007-04-08 11:37  gb
2324
2325        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2326        object.
2327
23282007-04-08 11:36  gb
2329
2330        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2331        changes manually and most of the effects were cosmetic.
2332        TOPLEVEL-PRINT takes an output stream arg.
2333
23342007-04-08 11:35  gb
2335
2336        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2337
23382007-04-08 11:34  gb
2339
2340        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2341        interrupt is obviously pending.
2342
23432007-04-08 11:33  gb
2344
2345        * level-1/l1-io.lisp: Change pointer printing.
2346
23472007-04-08 11:33  gb
2348
2349        * level-1/l1-init.lisp: +NULL-PTR+.
2350
23512007-04-08 11:31  gb
2352
2353        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2354        preferred name for DEFGLOBAL.
2355
23562007-04-08 11:30  gb
2357
2358        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2359        for DEFGLOBAL.
2360       
2361        Mechanism for associating a (built-in) class with a foreign type
2362        ordinal.
2363
23642007-04-08 11:29  gb
2365
2366        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2367        for DEFGLOBAL.
2368       
2369        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2370        likely the global value of some symbol.)
2371
23722007-04-08 11:28  gb
2373
2374        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2375        DEFGLOBAL.
2376       
2377        Standard CL streams now bound per-thread.
2378       
2379        Install standard foreign types here, not every time that
2380        FOREIGN-TYPES is loaded.
2381       
2382        Canonicalize foreign type ordinals as soon as we can.  (This is
2383        part of a scheme to give foreign types "ordinals' that can be used
2384        to assert pointer types; we need some of those ordinal numbers to
2385        be pre-assigned, since we can't reference foreign types early in
2386        the cold load.)
2387
23882007-04-08 11:27  gb
2389
2390        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2391        DEFGLOBAL.  GCABLE-PTR-P.
2392
23932007-04-07 21:25  gb
2394
2395        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2396         Handle maintenance of auto-export packages differently.
2397        $fasl-timm just needs an :int, not a :long.
2398
23992007-04-07 21:24  gb
2400
2401        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2402        "functional", not random symbol guts.
2403
24042007-04-07 21:23  gb
2405
2406        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2407        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2408        interrupts are re-enabled.
2409
24102007-04-07 21:22  gb
2411
2412        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2413
24142007-04-07 21:20  gb
2415
2416        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2417        %PTR-STORE-FIXNUM-CONDITIONAL.
2418
24192007-04-07 21:19  gb
2420
2421        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2422        in DarwinPPC64 #'%FF-CALL.
2423
24242007-04-07 21:19  gb
2425
2426        * compiler/optimizers.lisp: When trying to infer result type of
2427        MAKE-ARRAY call, unquote quoted type specifier.
2428       
2429        Strength-reduce FLOAT when second argument is of known type.
2430
24312007-04-07 21:18  gb
2432
2433        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2434
24352007-04-07 21:17  gb
2436
2437        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2438        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2439        Parse %short-float, %double-float when no "result" arg; can at
2440        least try to constant-fold late and/or do some cases if we have
2441        more type info.
2442
24432007-04-07 21:16  gb
2444
2445        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2446        be bound" error message.
2447
24482007-04-07 21:15  gb
2449
2450        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2451        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2452
24532007-04-07 21:14  gb
2454
2455        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2456        remaning GPR/FPR counts even if arg is "simple" and passes straight
2457        through to %FF-CALL.
2458
24592007-04-07 21:13  gb
2460
2461        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2462        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2463        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2464        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2465        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2466
24672007-04-07 21:12  gb
2468
2469        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2470        for Darwin structure-passing ABI.
2471
24722007-04-07 21:10  gb
2473
2474        * OpenMCL.app/Contents/Resources/English.lproj/:
2475        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2476        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2477        OpenmclInspector.nib/keyedobjects.nib,
2478        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2479        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2480        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2481        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2482        representation, not binary.
2483
24842007-04-06 22:10  gb
2485
2486        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2487        (RLIMIT_AS) current resource limit to max limit, since some distros
2488        limit it.
2489
24902007-04-03 03:11  gb
2491
2492        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2493        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2494
24952007-04-02 22:10  gb
2496
2497        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2498        arg in utf-16 encode, missing #x in little-endian bom-marker
2499        definition.)
2500
25012007-03-14 23:10  gb
2502
2503        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2504
25052007-03-14 05:11  gb
2506
2507        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2508        generate-callback-bindings.
2509
25102007-03-13 06:10  gb
2511
2512        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2513
25142007-03-13 03:58  gb
2515
2516        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2517
25182007-03-12 05:11  gb
2519
2520        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2521        little.
2522
25232007-03-12 05:10  gb
2524
2525        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2526        %EXTERNAL-CALL-EXPANDER.
2527
25282007-03-12 05:09  gb
2529
2530        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2531        encapsulation, and a lock.
2532
25332007-03-12 05:08  gb
2534
2535        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2536        thread-local.
2537
25382007-03-12 02:25  gb
2539
2540        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2541        deal with variations in Mach behavior: "exception" may be
2542        EXC_BAD_ACCESS when an illegal instruction causes a "general
2543        protection fault".
2544
25452007-03-09 15:56  gb
2546
2547        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2548        NIL ...)
2549
25502007-03-09 00:01  gb
2551
2552        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2553
25542007-03-09 00:00  gb
2555
2556        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2557        *OPEN-FILE-STREAMS*.
2558
25592007-03-09 00:00  gb
2560
2561        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2562        open-file-streams.
2563
25642007-03-08 23:59  gb
2565
2566        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2567        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2568
25692007-03-08 23:58  gb
2570
2571        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2572        associated with it.
2573
25742007-03-08 23:57  gb
2575
2576        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2577
25782007-03-08 23:47  gb
2579
2580        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2581        hash-table, it fills the hash-table vector with "free" markers.
2582        (There may already be lots of "deleted" markers in the table.)
2583
25842007-03-08 22:26  gb
2585
2586        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2587
25882007-03-08 22:24  gb
2589
2590        * lib/numbers.lisp: printing random-state: don't shift seeds.
2591
25922007-03-08 22:24  gb
2593
2594        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2595
25962007-03-08 22:24  gb
2597
2598        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2599
26002007-03-08 22:23  gb
2601
2602        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2603
26042007-03-08 22:23  gb
2605
2606        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2607        %next-random-pair.
2608
26092007-03-08 22:22  gb
2610
2611        * level-0/l0-numbers.lisp: And, while we're at it: do the
2612        next-random-seed permutation in %next-random-pair, which accepts
2613        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2614        in lisp on 64-bit platforms.
2615
26162007-03-08 22:20  gb
2617
2618        * level-0/l0-numbers.lisp: Don't shift random seeds.
2619
26202007-03-08 03:30  gb
2621
2622        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2623        rather than >= #x80, because of the new way that
2624        uuo-error-slot-unbound is encoded.
2625
26262007-03-08 03:28  gb
2627
2628        * compiler/X86/x86-disassemble.lisp: Recognize
2629        uuo-error-slot-unbound.
2630
26312007-03-08 03:28  gb
2632
2633        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2634        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2635
26362007-03-07 08:29  gb
2637
2638        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2639
26402007-03-07 07:45  gb
2641
2642        * level-1/linux-files.lisp: For #+linux-target, try to use
2643        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2644        if that fails.  (CPU-COUNT is called early in the cold load, before
2645        we can make the file-stream necessary to do the parsing.)
2646
26472007-03-07 07:33  gb
2648
2649        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2650        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2651
26522007-03-07 07:25  gb
2653
2654        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2655        el-bizarro syscall mask, pass the magic number 0x1e as a second
2656        arg, just in case.
2657
26582007-03-07 07:24  gb
2659
2660        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2661        before accessing *OPEN-FILE-STREAMS*.
2662
26632007-03-07 07:23  gb
2664
2665        * level-1/l1-readloop.lisp: Add comment about
2666        *OPEN-FILE-STREAMS-LOCK*.
2667
26682007-03-07 07:23  gb
2669
2670        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2671
26722007-03-07 07:21  gb
2673
2674        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2675        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2676
26772007-03-07 07:05  gb
2678
2679        * xdump/heap-image.lisp: Bump current image version.
2680
26812007-03-07 07:02  gb
2682
2683        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2684        "calls" want an argument in ecx.  Set that arg to 0 for now.
2685
26862007-03-07 07:01  gb
2687
2688        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2689        "real" locks; those updates can be simplified.
2690       
2691        lock_recursive_lock: no (ignored) timeout arg.
2692
26932007-03-07 06:59  gb
2694
2695        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2696        support the old one.
2697
26982007-03-07 06:59  gb
2699
2700        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2701        prototype.  Change declaration of LOCK macro: no null timespec
2702        required.  RECURSIVE_LOCKs have spinlock fields.
2703
27042007-03-07 06:56  gb
2705
2706        * level-1/version.lisp: bump, indicate work-in-progress development
2707        version.
2708
27092007-03-07 06:56  gb
2710
2711        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2712        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2713        rather than something lower-level.
2714
27152007-03-07 06:53  gb
2716
2717        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2718        to obtain them before yielding.
2719
27202007-03-07 06:52  gb
2721
2722        * level-0/l0-io.lisp: Move YIELD elsewhere.
2723
27242007-03-07 06:51  gb
2725
2726        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2727        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2728        layout.
2729
27302007-03-02 05:10  gb
2731
2732        * level-1/l1-application.lisp: Toplevel function: initial-listener
2733        class is 'TTY-LISTENER.
2734
27352007-03-02 05:09  gb
2736
2737        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2738        message.
2739
27402007-03-02 05:09  gb
2741
2742        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2743       
2744        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2745        For TTY-LISTENER, call QUIT.
2746
27472007-03-02 05:08  gb
2748
2749        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2750        EXIT-INTERACTIVE-PROCESS instead.
2751       
2752        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2753
27542007-03-02 05:06  gb
2755
2756        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2757
27582007-03-02 05:06  gb
2759
2760        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2761        of null pointers into body.
2762
27632007-03-02 05:05  gb
2764
2765        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2766        consus-interruptus.
2767
27682007-03-02 05:05  gb
2769
2770        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2771        <constant> if constant is of type <type>.)
2772       
2773        Do we need an ignore-errors here ? Or does <type> need to be
2774        defined ?
2775
27762007-03-02 05:03  gb
2777
2778        * compiler/X86/x862.lisp: Do the / * thing.
2779
27802007-03-02 05:02  gb
2781
2782        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2783        :call attribute.
2784
27852007-03-01 04:04  gb
2786
2787        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2788        new binding frame
2789
27902007-02-28 07:04  gb
2791
2792        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2793        rather than %rbp; trust callback_for_interrupt() to preserve it.
2794
27952007-02-28 07:03  gb
2796
2797        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2798        callback_for_interrupt().
2799
28002007-02-28 05:18  gb
2801
2802        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2803        counts) that may wind up on the vstack.
2804       
2805        Since those tiny things might be tagged as headers, walk the vstack
2806        with new "headerless" functions that ignore headers.
2807
28082007-02-28 05:16  gb
2809
2810        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2811        before the alloc trap and interrupting, back out of the
2812        modification to save_allocptr (and allocptr register) and set
2813        *interrupt_displacement.
2814
28152007-02-23 10:13  gb
2816
2817        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2818        only makes sense for cases where we have to guess; a bitfield
2819        that's 8 bits wide still has an alignment of 1.
2820       
2821        Factor in the alignment of the containing int when bitfields are
2822        involved.
2823       
2824        When parsing a record type, set the "bits" slot of each field.
2825        (Not too many things look at that slot, but we want the effect of
2826        loading a record from the database to match the effect of parsing a
2827        definition as exactly as possible, and to be able to use EQUALP to
2828        compare the results.)
2829
28302007-02-23 10:06  gb
2831
2832        * lib/db-io.lisp: Some extra fields in
2833        objc-message-info/objc-method-info structures.
2834       
2835        When calculating overall alignment of a structure, treat bitfields
2836        as if they were :unsigned-int (since there's a "containing"
2837        unsigned int that affects alignment.  N.B: this should be imposed
2838        for anything that has an alignment of 1, not just a size of 1.)
2839       
2840        When loading integer types, try to use the precomputed types rather
2841        than consing a new one.  This (a) reduces consing a little (b) is
2842        more likely to get the alignment correct.  For (b), we really need
2843        to distinguish between bitfields and addressable integers.
2844
28452007-02-23 09:30  gb
2846
2847        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2848
28492007-02-22 02:33  gb
2850
2851        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2852
28532007-02-22 02:28  gb
2854
2855        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2856        heap size right ...).
2857
28582007-02-22 02:27  gb
2859
2860        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2861        traditional (sysv) style of hash maps, if it understands that
2862        option.
2863
28642007-02-21 06:01  gb
2865
2866        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2867        has been consed since last GC.  (There are some fenceposts there.)
2868       
2869        verbose GC herald tries to indicate how much is allocated in the
2870        area being GCed.
2871
28722007-02-21 05:58  gb
2873
2874        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2875        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2876
28772007-02-21 05:57  gb
2878
2879        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2880        uuo-gc-trap.
2881
28822007-02-19 04:50  gb
2883
2884        * lib/foreign-types.lisp: Use keywords more consistently.
2885       
2886        (Note: there seems to be a bug which is keeping the cdb data
2887        structures from getting defined correctly at load time; the
2888        workaround is to compile foreign-types.lisp - which defines them -
2889        in the same session as and before db-io - which uses them - is
2890        compiled.)
2891
28922007-02-19 04:48  gb
2893
2894        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2895        error.
2896
28972007-02-19 04:42  gb
2898
2899        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2900        the error function.
2901
29022007-02-19 04:40  gb
2903
2904        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2905        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2906
29072007-02-19 04:40  gb
2908
2909        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2910        FUNCALLABLE-STANDARD-OBJECT.
2911       
2912        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2913        creating a GF.
2914
29152007-02-19 04:36  gb
2916
2917        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2918        funcallable-stanard-objects better.
2919
29202007-02-19 04:34  gb
2921
2922        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2923        CCL, OPENMCL-MOP.
2924
29252007-02-19 02:09  gb
2926
2927        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2928        FUNCALLABLE-STANDARD-CLASS.
2929
29302007-02-19 02:07  gb
2931
2932        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2933        error message.
2934
29352007-02-15 02:46  gb
2936
2937        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2938        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2939
29402007-02-15 02:45  gb
2941
2942        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2943        methods yet.
2944
29452007-02-14 02:39  gb
2946
2947        * release-notes.txt: Fix a typo.
2948
29492007-02-14 02:35  gb
2950
2951        * release-notes.txt: Update for 070214 snapshots.
2952
29532007-02-13 23:36  gb
2954
2955        * level-1/version.lisp: Bump.
2956
29572007-02-13 23:36  gb
2958
2959        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2960        image-abi-version.
2961
29622007-02-13 23:29  gb
2963
2964        * xdump/faslenv.lisp: Finish bumping fasl version.
2965
29662007-02-13 23:15  gb
2967
2968        * lib/nfcomp.lisp: Bump current fasl version.
2969
29702007-02-13 23:02  gb
2971
2972        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2973
29742007-02-13 22:45  gb
2975
2976        * xdump/faslenv.lisp: Start bumping fasl-version.
2977
29782007-02-13 22:41  gb
2979
2980        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
2981        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
2982
29832007-02-13 21:16  gb
2984
2985        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
2986        that contain incompatible definitions of some math library stuff
2987        ("log" either has to do with logarithms or logging ...).
2988
29892007-02-13 18:42  gb
2990
2991        * lib/misc.lisp: Change the way that TIME is reported by default:
2992        mention the number of available CPU cores, don't assume that
2993        there's that much of a relationship between CPU time and wall-clock
2994        time.
2995
29962007-02-13 18:41  gb
2997
2998        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
2999        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3000        when :execute, too.
3001
30022007-02-13 18:35  gb
3003
3004        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3005        offset arg is required.
3006
30072007-02-13 18:12  gb
3008
3009        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3010        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3011
30122007-02-13 18:10  gb
3013
3014        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3015        cons.)
3016
30172007-02-13 18:10  gb
3018
3019        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3020        are more/other float-size issues deeper down in the code.
3021
30222007-02-13 18:09  gb
3023
3024        * examples/objc-support.lisp: Fixup the x86-64 error-return
3025        callback trampiline code (was missing a byte of machine code.)
3026
30272007-02-13 18:08  gb
3028
3029        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3030        jmp-buf to safe/sane values.
3031
30322007-02-13 18:07  gb
3033
3034        * examples/cocoa-window.lisp: Don't change-class
3035        *cocoa-event-process* until we start to run the event loop.
3036       
3037        Don't do _deallocHardCore: explicitly.
3038
30392007-02-13 17:35  gb
3040
3041        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3042        DOUBLE-FLOAT aliases just one gpr.
3043
30442007-02-13 17:34  gb
3045
3046        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3047
30482007-02-13 17:34  gb
3049
3050        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3051        32-bit ints, not "long".
3052
30532007-02-13 17:33  gb
3054
3055        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3056        for each scalar, not each arg.
3057       
3058        Fix some backquoting/indentation.
3059
30602007-02-13 17:31  gb
3061
3062        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3063
30642007-02-12 16:23  gb
3065
3066        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3067
30682007-02-11 20:22  gb
3069
3070        * examples/bridge.lisp: method-typestring needs to be
3071        conditionalized.  How has this been working ?
3072
30732007-02-11 20:22  gb
3074
3075        * examples/cocoa-editor.lisp: remove some debugging code.
3076
30772007-02-11 20:21  gb
3078
3079        * examples/objc-runtime.lisp: %mlist-containing is
3080        #-apple-objc-2.0.
3081
30822007-02-11 20:21  gb
3083
3084        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3085
30862007-02-11 05:35  gb
3087
3088        * level-1/version.lisp: Bump.
3089
30902007-02-11 05:28  gb
3091
3092        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3093        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3094        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3095        an optional argument; default to the Tiger SDK.
3096
30972007-02-11 05:26  gb
3098
3099        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3100        an errror.
3101
31022007-02-11 05:26  gb
3103
3104        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3105        Leopard renaming.  Suffer.
3106
31072007-02-11 05:25  gb
3108
3109        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3110        an existing process (so that the listener process appears to be
3111        "persistent".)
3112
31132007-02-11 05:24  gb
3114
3115        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3116        make the initial-listener object persistent acrosss
3117        SAVE-APPLICATION.
3118
31192007-02-11 00:01  gb
3120
3121        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3122       
3123        Handle callback-error-returns on x86-64.
3124
31252007-02-11 00:00  gb
3126
3127        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3128        use %ptr<, to hide word-size differences.
3129       
3130        __NSConstantStringClassReference isn't what it used to be, so look
3131        up NSConstantStringClass the hard way.
3132       
3133        Handle ns-exception/lisp-error stuff on x86-64.
3134       
3135        Do arg/result coercions differently.  Does any code depend on
3136        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3137        MACPTRs).
3138       
3139        Use the new FFI interface for message-sends, callbacks to try to
3140        hide platform-specific ABI issues.
3141       
3142        The _deallocate-hook mechanism - which never really worked -
3143        probably can't work on Objc-2.0.
3144
31452007-02-10 23:54  gb
3146
3147        * examples/bridge.lisp: Make structure return-type explicit in
3148        objc-message-send calls in send/stret and variants.
3149
31502007-02-10 22:34  gb
3151
3152        * examples/cocoa-window.lisp: Some indentation changes and slight
3153        reorganization of the code; shouldn't be any functional/semantic
3154        changes.
3155
31562007-02-10 22:30  gb
3157
3158        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3159        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3160        appropriate; other changes for 64-bit platforms, Objc-2.0.
3161
31622007-02-10 22:28  gb
3163
3164        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3165        CG-FLOATs when appropriate.
3166
31672007-02-10 22:28  gb
3168
3169        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3170
31712007-02-10 22:28  gb
3172
3173        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3174
31752007-02-10 22:27  gb
3176
3177        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3178        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3179        ignore-errors when trying to parse the last arglist form as a
3180        foreign type.
3181
31822007-02-10 22:26  gb
3183
3184        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3185        expansion ...
3186
31872007-02-10 22:26  gb
3188
3189        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3190        use %rdx and %r11 to hold target address.
3191
31922007-02-10 22:23  gb
3193
3194        * library/pty.lisp: Unicode stuff when accessing control char
3195        array; conditionalize for #+darwin-target, not just
3196        #+darwinppc-target.
3197
31982007-02-10 22:22  gb
3199
3200        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3201        ppc-specific; the comment dated from the days of 68K MCL.)
3202
32032007-02-10 22:21  gb
3204
3205        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3206        return 32 bits at a time, to avoid consing little bignums.
3207
32082007-02-10 22:15  gb
3209
3210        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3211
32122007-02-10 22:15  gb
3213
3214        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3215        count, not total byte count.
3216       
3217        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3218        the PPC case, as well.)
3219
32202007-02-10 22:11  gb
3221
3222        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3223        "zero-extend-s8" vinsn, but there does need to be a
3224        "zero-extend-u8".
3225
32262007-02-10 05:38  gb
3227
3228        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3229        #'VALUES.
3230
32312007-02-10 05:38  gb
3232
3233        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3234        ARGLIST can say -something- about lap functions that don't take a
3235        fixed number of arguments.
3236
32372007-02-07 02:54  gb
3238
3239        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3240        "e".
3241
32422007-02-02 02:32  gb
3243
3244        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3245        objc-support.lisp: Start to integrate with FFI changes.  No more
3246        %SEND, process and precompile "init" messages when interfaces are
3247        accessed.  (Note: should try to handle varargs init messages, even
3248        if we have to call %FF-CALL at runtime.)
3249
32502007-02-02 02:31  gb
3251
3252        * examples/: addressbook.lisp, webkit.lisp: Change the
3253        initialization code a bit.
3254
32552007-02-02 02:27  gb
3256
3257        * lib/foreign-types.lisp: Try to fix another case involving
3258        "auxiliary types".
3259       
3260        I think that the concept of auxiliary types might make sense in a
3261        context like:
3262       
3263        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3264        (:struct :bar (:x :int) (:y :int)))))
3265       
3266        In that case, :struct :bar is local to the definition.  In the
3267        similar case:
3268       
3269        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3270        (:struct :bar))))
3271       
3272        :BAR is presumably defined (globally) elsewhere.
3273
32742007-02-02 02:17  gb
3275
3276        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3277         (Setting "SDK=" will hopefully work with older version of xcode.)
3278
32792007-02-02 02:15  gb
3280
3281        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3282
32832007-01-31 23:26  gb
3284
3285        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3286        argument in ppc2-poweropen-foreign-args.
3287
32882007-01-31 22:47  gb
3289
3290        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3291        components from registers.
3292
32932007-01-31 22:45  gb
3294
3295        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3296        brackets are returned verbatim, not downcased.
3297
32982007-01-31 22:44  gb
3299
3300        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3301        accepts :registers.
3302
33032007-01-31 16:36  gb
3304
3305        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3306        New (and, so far, useless) files.
3307
33082007-01-31 16:35  gb
3309
3310        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3311        seems to be 32-bit only.
3312
33132007-01-31 16:34  gb
3314
3315        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3316
33172007-01-31 16:34  gb
3318
3319        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3320
33212007-01-31 16:33  gb
3322
3323        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3324        missing cdb file: dog bytes man; missing parent directory is more
3325        newsworthy.
3326
33272007-01-31 15:38  gb
3328
3329        * library/chud-metering.lisp: Tweak a little, so that it might work
3330        on darwinppc64 (and on darwinx8664 when purify does something
3331        there.)
3332
33332007-01-31 15:06  gb
3334
3335        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3336
33372007-01-31 02:49  gb
3338
3339        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3340
33412007-01-30 22:53  gb
3342
3343        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3344        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3345        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3346        gl/.cvsignore: new files.
3347
33482007-01-30 22:21  gb
3349
3350        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3351        new files.
3352
33532007-01-30 21:58  gb
3354
3355        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3356
33572007-01-30 21:58  gb
3358
3359        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3360        file
3361
33622007-01-30 21:49  gb
3363
3364        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3365        fun!
3366
33672007-01-30 21:40  gb
3368
3369        * library/openmcl-gtk-support.lisp: Conditionalize out the
3370        event-polling task.
3371
33722007-01-30 21:36  gb
3373
3374        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3375        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3376        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3377
33782007-01-30 21:35  gb
3379
3380        * headers/gl/C/populate.sh: process glu.h
3381
33822007-01-30 17:47  gb
3383
3384        * library/parse-ffi.lisp: Always encode explicit structure-typed
3385        function return values.
3386       
3387        Note when we see one, for now.
3388
33892007-01-30 17:45  gb
3390
3391        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3392        leading argument to be paired with a structure-typed return-type.
3393
33942007-01-30 17:43  gb
3395
3396        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3397        the first-arg hack.
3398
33992007-01-30 17:42  gb
3400
3401        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3402        support the old version.
3403       
3404        Don't check the :struct-by-value flag when encoding function
3405        args/results.  (That decision's made above our pay grade now.)
3406       
3407        When reading a :struct/:union definition, try to update an existing
3408        defintion rather than consing up a new one (this matters if the
3409        record is anonymous.)
3410
34112007-01-30 17:39  gb
3412
3413        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3414        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3415        correctly.
3416       
3417        Fix c_socket for #+linuxppc.
3418
34192007-01-30 08:20  gb
3420
3421        * level-1/version.lisp: Bump.
3422
34232007-01-30 08:20  gb
3424
3425        * lib/compile-ccl.lisp: Use make -j to build kernel.
3426
34272007-01-30 07:02  gb
3428
3429        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3430        xmm0/xmm1.
3431
34322007-01-30 07:01  gb
3433
3434        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3435        day's work turned into 2 weeks, somehow.)
3436
34372007-01-30 07:00  gb
3438
3439        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3440        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3441        stuff for x8664 (all platfroms appear to use the same ABI.)
3442
34432007-01-30 03:26  gb
3444
3445        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3446        displacement in %ATOMIC-INCF-NODE.
3447
34482007-01-29 07:27  gb
3449
3450        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3451
34522007-01-29 07:27  gb
3453
3454        * lib/ffi-darwinppc64.lisp: new callback stuff.
3455
34562007-01-29 07:27  gb
3457
3458        * lib/ffi-darwinppc32.lisp: typos-r-us.
3459
34602007-01-29 04:37  gb
3461
3462        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3463
34642007-01-29 04:37  gb
3465
3466        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3467
34682007-01-29 04:36  gb
3469
3470        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3471
34722007-01-29 04:36  gb
3473
3474        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3475
34762007-01-29 04:36  gb
3477
3478        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3479        stuff here.
3480
34812007-01-29 02:33  gb
3482
3483        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3484
34852007-01-28 21:47  gb
3486
3487        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3488        a bit more, change the API, get things working ... still a moving
3489        target.
3490
34912007-01-28 21:46  gb
3492
3493        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3494        (Other platforms still need more bootstrapping.)
3495
34962007-01-28 21:44  gb
3497
3498        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3499        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3500
35012007-01-28 03:21  gb
3502
3503        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3504        dynamic-extent, other decls separately.
3505
35062007-01-28 03:20  gb
3507
3508        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3509        use the new (ftd-based) scheme.
3510
35112007-01-28 01:43  gb
3512
3513        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3514        code's getting replaced, but fix 'em anyway.)
3515
35162007-01-28 01:42  gb
3517
3518        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3519        translated pathname and mention the fact that this might indicate a
3520        problem with "ccl:"'s logical translations.
3521
35222007-01-25 04:37  gb
3523
3524        * lib/foreign-types.lisp: Never fully understood the concept
3525        "auxiliary" foreign types, but try to canonicalize intermediate
3526        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3527        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3528        likely to return T (e.g., something registered in the FTD.
3529       
3530        It seems clear that this is the right thing when the structure
3531        reference is in global scope; I'm not sure what it'd mean for that
3532        not to be the case.
3533
35342007-01-25 04:32  gb
3535
3536        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3537        callback.
3538
35392007-01-24 23:41  gb
3540
3541        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3542        may not even compile.
3543
35442007-01-24 02:39  gb
3545
3546        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3547        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3548        for new FTD functions.
3549
35502007-01-24 02:28  gb
3551
3552        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3553        defstruct.
3554
35552007-01-23 15:28  gb
3556
3557        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3558        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3559        Return FPRs in the same place.  (Will need to re-work all of this
3560        for platform-dependent structure stuff.)
3561
35622007-01-23 15:26  gb
3563
3564        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3565        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3566        the lisp side.)
3567
35682007-01-23 15:21  gb
3569
3570        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3571        c_reg_save for saved fp args (f1-f13).
3572
35732007-01-23 15:14  gb
3574
3575        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3576        ftd hook.
3577
35782007-01-23 07:19  gb
3579
3580        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3581        (CLASS-OF non-simple-string).
3582
35832007-01-23 07:02  gb
3584
3585        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3586        array case, needed new string definition.
3587
35882007-01-23 07:01  gb
3589
3590        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3591        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3592        compiler/X86/X8664/x8664-backend.
3593
35942007-01-23 06:59  gb
3595
3596        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3597        stuff here.
3598
35992007-01-21 08:32  gb
3600
3601        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3602        "-returning-").
3603       
3604        Typecheck the :registers arg.
3605
36062007-01-21 08:32  gb
3607
3608        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3609
36102007-01-21 08:31  gb
3611
3612        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3613        stack-block.
3614
36152007-01-21 08:31  gb
3616
3617        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3618        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3619        instead.
3620
36212007-01-21 06:46  gb
3622
3623        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3624        space for 13 float registers, not 31.
3625
36262007-01-21 06:45  gb
3627
3628        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3629        x86-64.
3630
36312007-01-21 06:38  gb
3632
3633        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3634        register return without typos.
3635
36362007-01-21 06:15  gb
3637
3638        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3639        register return.
3640
36412007-01-21 06:14  gb
3642
3643        * compiler/nx1.lisp: Don't assume that passing a structure by value
3644        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3645        platform that doesn't support the convention.)
3646
36472007-01-21 06:12  gb
3648
3649        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3650        replaces .SPunused-4.
3651
36522007-01-21 06:10  gb
3653
3654        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3655        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3656        (replaces .SPunused_4).
3657
36582007-01-21 00:05  gb
3659
3660        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3661        argument/result coercion functions in os::expand-ff-call.
3662
36632007-01-20 23:53  gb
3664
3665        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3666        results when expanding an ff-call.
3667
36682007-01-20 23:52  gb
3669
3670        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3671        foreign args, results.
3672
36732007-01-20 22:31  gb
3674
3675        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3676        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3677        are to each other.  I'd guess that they're pretty close, and that
3678        x86-64 Darwin is random.)
3679
36802007-01-20 21:55  gb
3681
3682        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3683
36842007-01-20 19:34  gb
3685
3686        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3687
36882007-01-20 19:25  gb
3689
3690        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3691        right os::ff-call-expander.
3692
36932007-01-20 19:24  gb
3694
3695        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3696
36972007-01-20 19:24  gb
3698
3699        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3700        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3701        OS.
3702
37032007-01-20 19:23  gb
3704
3705        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3706        probably several more.
3707
37082007-01-20 19:22  gb
3709
3710        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3711
37122007-01-20 19:21  gb
3713
3714        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3715        extended to handle coercions at the Cocoa level, and probably needs
3716        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3717        installed by #_).
3718
37192007-01-20 19:18  gb
3720
3721        * lib/db-io.lisp: Encode, decode union types in arglists.
3722
37232007-01-20 19:17  gb
3724
3725        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3726        os::expand-ff-call.
3727       
3728        Canonicalize the :void type a bit better.
3729
37302007-01-20 19:16  gb
3731
3732        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3733
37342007-01-18 23:15  gb
3735
3736        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3737
37382007-01-18 23:15  gb
3739
3740        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3741
37422007-01-18 23:15  gb
3743
3744        * lib/systems.lisp: Add the new ffi-backend sources.
3745
37462007-01-18 23:14  gb
3747
3748        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3749        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3750        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3751        files.
3752
37532007-01-18 04:35  gb
3754
3755        * level-1/version.lisp: Bump.
3756
37572007-01-18 04:17  gb
3758
3759        * examples/bridge.lisp: Some word-size conditionalization.  Will
3760        need more work to handle struct return/asssignment correctly on all
3761        platforms.
3762
37632007-01-18 04:15  gb
3764
3765        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3766        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3767
37682007-01-18 04:13  gb
3769
3770        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3771        type casts, etc.
3772
37732007-01-18 04:12  gb
3774
3775        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3776        deprecated NSFont stuff.
3777
37782007-01-18 04:11  gb
3779
3780        * examples/objc-clos.lisp: Handle ivars, class
3781        creation/initialization differently for ObjC 2.0.
3782
37832007-01-18 04:10  gb
3784
3785        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3786
37872007-01-18 04:09  gb
3788
3789        * examples/objc-support.lisp: Note which protocols are actually
3790        used when walking classes.  (There doesn't seem to be a good way of
3791        finding a Protocol object pre-objc-2.0, and we may need to test
3792        protocol compliance to disambiguate message sends in some cases.)
3793
37942007-01-18 04:07  gb
3795
3796        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3797        necessarily darwinppc).
3798
37992007-01-18 04:06  gb
3800
3801        * examples/addressbook.lisp: Conditionalize for darwin (not
3802        necessarily darwinppc).  May want to conditionalize for bundle
3803        executable name, as well.
3804
38052007-01-18 04:05  gb
3806
3807        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3808        to sketch out structure return code (structures are often
3809        "returned" by returning field values in registers pn DarwinPPC64.)
3810
38112007-01-18 04:04  gb
3812
3813        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3814        attributes for structure args/results.
3815
38162007-01-18 04:03  gb
3817
3818        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3819         (Will need this for other platforms, too.)
3820
38212007-01-18 04:01  gb
3822
3823        * lib/macros.lisp: Arch-specific macro interface for
3824        WITH-FFCALL-RESULTS.
3825
38262007-01-18 04:00  gb
3827
3828        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3829        return value.
3830
38312007-01-18 04:00  gb
3832
3833        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3834        .SPpoweropen_ffcall_return_registers.
3835
38362007-01-18 03:59  gb
3837
3838        * library/parse-ffi.lisp: At least optionally, make structure
3839        return explicit (expecting it to be handled by higher-level code.)
3840
38412007-01-18 03:58  gb
3842
3843        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3844        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3845
38462007-01-18 03:55  gb
3847
3848        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3849        may hold OS thread context.
3850
38512007-01-18 03:54  gb
3852
3853        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3854        in ftd.
3855
38562007-01-18 03:53  gb
3857
3858        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3859        macro.
3860
38612007-01-18 03:52  gb
3862
3863        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3864        all possible result regs.  (Maybe poweropen syscall, too.)
3865
38662007-01-18 03:51  gb
3867
3868        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3869        .SPpoweropen-ff-call-return-registers.
3870
38712007-01-18 03:50  gb
3872
3873        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3874        supported, backend will return all (potential) result registers in
3875        buffer at <exp>.
3876
38772007-01-16 02:01  gb
3878
3879        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3880        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3881        functions make less sense for character streams/strings than they
3882        used to.)
3883
38842007-01-16 01:39  gb
3885
3886        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3887        defaults to :BIVALENT
3888
38892007-01-16 01:37  gb
3890
3891        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3892
38932007-01-11 23:58  gb
3894
3895        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3896        into (* (/ constant1 constant2) exp).  Not very general, but makes
3897        some foreign address arithmetic better.
3898
38992007-01-11 23:56  gb
3900
3901        * lib/macros.lisp: Simple PAREF: (paref pointer
3902        foreign-pointer-or-array-type index) does simple arithmetic for
3903        you.
3904
39052007-01-11 23:54  gb
3906
3907        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3908
39092007-01-10 15:50  gb
3910
3911        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3912        double->heap vinsn.
3913
39142007-01-09 11:33  gb
3915
3916        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3917        cleanup and multiple values are being thrown, be sure to set
3918        tcr.xframe from the target catch frame.  This is necessary on
3919        general principles (GC safety), and especially necessary if the
3920        cleanup form does a non-local exit.
3921
39222007-01-08 22:12  gb
3923
3924        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3925        Revive some of the old GNUstep support; add partial ObjC 2.0
3926        support (for 64-bit targets only, so far.)
3927
39282007-01-08 22:11  gb
3929
3930        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3931        darwinppc-target.
3932
39332007-01-08 22:10  gb
3934
3935        * examples/cocoa-listener.lisp: Disable background layout in the
3936        listener; the whole two-thread scheme probably isn't viable, but
3937        doing this seems to suppress a timing-related symptom.
3938
39392007-01-08 22:09  gb
3940
3941        * examples/cocoa-editor.lisp: Document-begin-editing,
3942        document-end-editing: both seem to have been conditionalized
3943        backwards.
3944
39452007-01-05 16:22  gb
3946
3947        * level-0/l0-numbers.lisp: Fix another typo ...
3948
39492007-01-05 16:16  gb
3950
3951        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3952
39532007-01-05 15:27  gb
3954
3955        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3956        PPC32.
3957
39582007-01-05 06:20  gb
3959
3960        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3961        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3962        result (with the right arg) does obtain a link map.
3963       
3964        Revive shared libraries on FreeBSD, but don't do the strange
3965        Linux-specific re-opening there.  (It seems like it's possible to
3966        #_dlopen something that already has a loaded link map - like the
3967        FreeBSD dynamic linker - or something.)
3968
39692007-01-04 05:46  gb
3970
3971        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3972        :WILD-INFERIORS.
3973
39742007-01-04 05:45  gb
3975
3976        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
3977        (which may use %gs instead of %fs for tls).
3978
39792007-01-04 05:44  gb
3980
3981        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
3982
39832007-01-04 05:44  gb
3984
3985        * level-0/l0-numbers.lisp:
3986        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
3987        accurately represented in float, do so.
3988
39892007-01-03 03:35  gb
3990
3991        * lib/sequences.lisp: Fix a few type errors, check for explicit
3992        vector-type length earlier.
3993
39942007-01-03 03:31  gb
3995
3996        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
3997        preserved :WILD, don't map it to "*".
3998
39992007-01-03 03:30  gb
4000
4001        * lib/pathnames.lisp: More whack-a-mole with pathnames
4002        (specifically, preserving :WILD as name/type value and dealing with
4003        the consequences of doing so.)
4004
40052007-01-03 03:27  gb
4006
4007        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4008
40092007-01-02 09:57  gb
4010
4011        * lib/macros.lisp: Keep fixing CTYPECASE.
4012
40132007-01-02 09:57  gb
4014
4015        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4016        BASIC-CHARACTER-INPUT-STREAM returns both values.
4017       
4018        "Composite" (two-way, concatenated, etc) streams need a close
4019        protocol.
4020
40212007-01-02 07:00  gb
4022
4023        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4024        (new) version slot, as does practically everything else.
4025
40262007-01-02 06:59  gb
4027
4028        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4029        accurately coerced to floats when comparing fixnums and floats; do
4030        the logical equvalent of calling RATIONAL on the float instead.
4031
40322007-01-01 23:41  gb
4033
4034        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4035        version into returned namestring for physical pathnames.
4036
40372006-12-31 10:15  gb
4038
4039        * release-notes.txt: Update.
4040
40412006-12-31 09:13  gb
4042
4043        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4044        version.
4045
40462006-12-31 08:57  gb
4047
4048        * xdump/faslenv.lisp: Bump fasl-min-vers.
4049
40502006-12-31 08:49  gb
4051
4052        * lib/nfcomp.lisp: Bump current fasl version.
4053
40542006-12-31 08:33  gb
4055
4056        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4057        Tweak the executable start address.
4058
40592006-12-31 02:44  gb
4060
4061        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4062        ensure that there's nothing interesting in the first few pages of
4063        the address space (and ensure that those pages are mapped.)
4064
40652006-12-31 02:43  gb
4066
4067        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4068        on x86-64 (ld64 does some floating-point arithmetic, fails to
4069        account for roundoff error, and claims that 0x1000 isn't a power of
4070        2.) If you can't say anything good about a linker, it's best not to
4071        say anything at all.
4072       
4073        We can force the first segment to be mapped at 0x1000, and can
4074        waste a few pages to ensure that all low-memory pages that the lisp
4075        wants are mapped.
4076
40772006-12-31 02:33  gb
4078
4079        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4080        defensive.
4081
40822006-12-31 02:32  gb
4083
4084        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4085
40862006-12-31 02:29  gb
4087
4088        * xdump/faslenv.lisp: Bump $fasl-vers.
4089
40902006-12-31 02:28  gb
4091
4092        * level-1/version.lisp: Bump; remove "Beta" designation.
4093
40942006-12-29 20:13  gb
4095
4096        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4097        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4098        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4099        up a page on x86-64 as well.
4100
41012006-12-29 16:09  gb
4102
4103        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4104        .orged.
4105
41062006-12-29 15:32  gb
4107
4108        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4109        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4110        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4111        (including NIL) now one page higher on ppc32, as well.
4112
41132006-12-29 02:38  gb
4114
4115        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4116
41172006-12-29 01:38  gb
4118
4119        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4120        ppc64::reservation-discharge) up a page.
4121
41222006-12-29 01:37  gb
4123
4124        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4125        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4126
41272006-12-29 01:36  gb
4128
4129        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4130        backend.  ppc64 wants it one page higher than it has been, to avoid
4131        letting unmapped pages get claimed by the dynamic linker on Darwin.
4132
41332006-12-29 01:35  gb
4134
4135        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4136        that the image starts at #x1000 and aligned section data for the
4137        text section starts on the next page.
4138
41392006-12-29 01:33  gb
4140
4141        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4142        the aligned text section data starts.
4143
41442006-12-29 01:32  gb
4145
4146        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4147        etc a page higher.
4148
41492006-12-29 01:32  gb
4150
4151        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4152        already where it should be.
4153
41542006-12-29 01:32  gb
4155
4156        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4157        page higher.
4158
41592006-12-29 01:30  gb
4160
4161        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4162
41632006-12-22 01:40  gb
4164
4165        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4166
41672006-12-22 01:39  gb
4168
4169        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4170        PPC32/Darwin.
4171       
4172        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4173        test and use dlfcn functions if at least Tiger.
4174       
4175        (The old dyld functions are deprecated under Leopard, and there's
4176        reason to believe that they don't work correctly on at least ppc64/
4177        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4178        a 64-bit .dylib seems to lead to memory corruption rather than
4179        returning NSObjectFileImageInappropriateFile.
4180       
4181        The old functions work better than the dlfcn functions on pre-Tiger
4182        systems.)
4183
41842006-12-19 01:24  gb
4185
4186        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4187        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4188        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4189        producing a pathane with a non-null VERSION component, as it
4190        arguably should have been all along.
4191
41922006-12-18 13:22  gb
4193
4194        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4195        types into concrete vector types.
4196
41972006-12-18 13:04  gb
4198
4199        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4200        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4201        failing to do this leads to many test failures.)
4202
42032006-12-18 13:03  gb
4204
4205        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4206
42072006-12-18 12:57  gb
4208
4209        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4210        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4211        failing to do this leads to many test failures.)
4212
42132006-12-18 12:54  gb
4214
4215        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4216
42172006-12-16 05:28  gb
4218
4219        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4220        instructions have a minor opcode in frb and only have one source
4221        operand.
4222
42232006-12-16 05:27  gb
4224
4225        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4226        SQRT, note that there's only one operand and that it's in frb.
4227
42282006-12-16 05:25  gb
4229
4230        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4231        instructions, notably fsqrt/fqrts, which are optional and not
4232        implemented on some PPC machines.
4233
42342006-12-16 05:24  gb
4235
4236        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4237
42382006-12-14 19:47  gb
4239
4240        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4241
42422006-12-14 16:43  gb
4243
4244        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4245        double-float arithmetic vinsns should say :double-float, not
4246        :single-float.  (I suspect cut-and-paste, frankly.)
4247
42482006-12-14 16:25  gb
4249
4250        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4251        initial-thread.
4252
42532006-12-14 16:24  gb
4254
4255        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4256        error.
4257
42582006-12-14 16:14  gb
4259
4260        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4261        physical pathnames. (Yes, this is kind of silly.)
4262
42632006-12-14 16:01  gb
4264
4265        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4266        signal errors for (e.g.) failed memory allocation.
4267
42682006-12-14 16:00  gb
4269
4270        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4271        fails, signal a lisp error (what a concept.)
4272
42732006-12-14 15:51  gb
4274
4275        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4276       
4277        Might be worth revisiting this.
4278
42792006-12-14 15:50  gb
4280
4281        * lisp-kernel/x86-exceptions.c: Go back to using the
4282        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4283        from a fake context may not be reliable.
4284       
4285        When handling an interrupt with a partially created temp stack
4286        frame, do the right thing.  (That basically means reset the frame
4287        before calling out and recreating it if we return from the
4288        callout.)
4289       
4290        Handle SIGQUIT on the altstack, to provide a way of forcibly
4291        terminating threads that's a bit more GC-safe than doing it via
4292        #_pthread_cancel.
4293       
4294        Note the tcr of the gc thread on gc entry; if an exception happens
4295        in that thread, print a message and sleep for 60 seconds.
4296       
4297        Note that there's still a race condition here: if thread A gets an
4298        exception and thread B gets the mach_exception_lock (to GC) before
4299        the exception thread can handle the message, we deadlock (thread A
4300        would be suspended in the kernel and can't respond to a suspend
4301        signal.)  We can tell that this has happened and make a good guess
4302        as to why it happened, but dealing with it will require some
4303        thought.  (If we've already issued a suspend signal and eventually
4304        raise the suspended thread's resume semaphore, it'll suspend and
4305        resume once the mach exception thread makes it runnable.  Who
4306        cleans up its exception context in that case ?  Does it matter ?)
4307
43082006-12-14 15:19  gb
4309
4310        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4311        have all signals unmasked.
4312       
4313        If a tcr is dead, ensure that its stack areas are empty.
4314       
4315        Try to run shutdown_thread_tcr as a pthread cleanup action,
4316        hopefully before Mach clobbers the thread's signal mask.
4317
43182006-12-14 15:16  gb
4319
4320        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4321        TCR_AREA_LOCK.
4322
43232006-12-14 15:15  gb
4324
4325        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4326        hasn't existed in years.
4327
43282006-12-14 15:14  gb
4329
4330        * level-1/version.lisp: Bump.
4331
43322006-12-14 15:14  gb
4333
4334        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4335        termination semaphore.
4336
43372006-12-14 15:13  gb
4338
4339        * level-1/l1-processes.lisp: PROCESS objects are created with a
4340        termination semaphore.
4341
43422006-12-14 15:12  gb
4343
4344        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4345        TERMINATION-SEMAPHORE.
4346       
4347        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4348        target thread to transition from running lisp code to running
4349        foreign code without advertising that fact. Send a SIGQUIT instead,
4350        and trust the SIGQUIT handler to manage that transition.  Don't try
4351        to kill the initial thread.
4352
43532006-12-09 09:52  gb
4354
4355        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4356        their CLEAR-OUTPUT methods.
4357       
4358        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4359        their displaced-index-offsets.)
4360
43612006-12-09 09:49  gb
4362
4363        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4364        threads on x86-64.  (The PPC never got around to enabling them.)
4365
43662006-12-09 09:47  gb
4367
4368        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4369        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4370        the result of its evaluation.
4371       
4372        Some fixes in CTYPECASE handling, which hopefully didn't break
4373        anything else.
4374
43752006-12-09 09:36  gb
4376
4377        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4378        1d) index register is set - even if the index is a constant - if we
4379        think that the store needs EGC memoization.
4380       
4381        (Note that the test case that exposed this involved storing
4382        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4383        64-bit platforms.)
4384       
4385        In aref2, don't worry about reserving unscaled index registers when
4386        targeting the 1d index; the unscaled index registers aren't live
4387        after, could be NULL if the index is a constant, and any overlap
4388        between one of them and the 1d index should be handled in the
4389        vinsn(s).
4390
43912006-12-09 09:30  gb
4392
4393        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4394        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4395        class-translations.
4396
43972006-12-09 09:27  gb
4398
4399        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4400        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4401        don't segfault taking its CAR without checking.)
4402
44032006-12-06 18:48  gb
4404
4405        * level-0/X86/x86-float.lisp: x86-64 version of
4406        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4407        in %imm1 (which is undefined here ...)
4408
44092006-12-06 17:05  gb
4410
4411        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4412        right symbol for the named block.
4413       
4414        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4415        (SETF NAME).
4416
44172006-12-05 22:44  gb
4418
4419        * release-notes.txt: Update for 061205.
4420
44212006-12-05 20:31  gb
4422
4423        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4424        from putting a linkedit segment in the wrong place and making
4425        32-bit memory unmappable.
4426
44272006-12-05 20:30  gb
4428
4429        * level-1/version.lisp: Bump.
4430
44312006-12-05 20:29  gb
4432
4433        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4434
44352006-12-05 18:53  gb
4436
4437        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4438        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4439        doc string for *ALTERNATE-LINE-TERMINATOR*.
4440
44412006-12-04 15:13  gb
4442
4443        * level-1/version.lisp: Append a patchlevel to the version string,
4444        at least until new tarballs can be built.
4445
44462006-12-04 15:12  gb
4447
4448        * level-1/l1-streams.lisp: If stream element type upgrades to
4449        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4450        element-type.)
4451
44522006-12-04 13:02  gb
4453
4454        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4455        called): don't bother to shift by 0 bits.  Do shift the initial U
4456        if non-zero trailing 0 BITS (was testing for non-zero trailing
4457        DIGITS.)
4458
44592006-12-04 12:52  gb
4460
4461        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4462        element-types; do some upgrading to support some more element types
4463        (BIT -> (UNSIGNED-BYTE 8)).
4464       
4465        Maybe support arbitrarily large integer types someday soon.  Maybe
4466        not.
4467
44682006-12-04 12:48  gb
4469
4470        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4471        types (compiler stuff, mostly).
4472
44732006-12-04 12:46  gb
4474
4475        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4476        shift count of 32 (and returns 0 in that case.)
4477
44782006-12-04 12:46  gb
4479
4480        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4481        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4482        in case.)
4483
44842006-12-04 12:43  gb
4485
4486        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4487        GCD-2 ...
4488
44892006-12-04 09:26  gb
4490
4491        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4492        for STRING-INPUT-STREAMs.
4493
44942006-12-04 09:24  gb
4495
4496        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4497        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4498        shift by 0 bits.
4499
45002006-12-04 09:21  gb
4501
4502        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4503        doing %SLOT-UNBOUND-TRAP.
4504
45052006-12-04 09:21  gb
4506
4507        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4508        STREAMs, returns NIL.  STREAM-POSITION method for
4509        STRING-INPUT-STREAMs.
4510
45112006-12-04 09:19  gb
4512
4513        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4514        containing heap image.
4515
45162006-12-03 07:41  gb
4517
4518        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4519        STRING-OUTPUT-STREAMs are no-ops.
4520       
4521        Need an ioblock-based character-read-vector function for
4522        string-input-streams.
4523
45242006-12-03 07:37  gb
4525
4526        * lib/describe.lisp: Minimal DESCRIBE support for
4527        CCL::BASIC-STREAM.
4528
45292006-12-03 07:36  gb
4530
4531        * lib/macros.lisp: If :element-type is supplied in
4532        WITH-OUTPUT-TO-STRING, don't quote it.
4533
45342006-12-03 05:11  gb
4535
4536        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4537        isn't necessarily 16.
4538
45392006-12-03 05:10  gb
4540
4541        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4542        isn't necessarily 16.
4543       
4544        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4545        %slot-unbound-trap.
4546
45472006-12-03 05:09  gb
4548
4549        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4550        avoid some NO-NEXT-METHODs.
4551
45522006-12-03 02:42  gb
4553
4554        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4555        bit better.
4556
45572006-12-03 02:41  gb
4558
4559        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4560        bit.
4561
45622006-12-03 02:28  gb
4563
4564        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4565        clearing the low byte of the header, shifting it right, and
4566        comparing the index to that.  (It's not reliable to shift the index
4567        left.)
4568
45692006-12-03 02:26  gb
4570
4571        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4572        write BOM, leave that up to higher-level code.
4573       
4574        Start to write some higher-level code.
4575
45762006-12-03 02:23  gb
4577
4578        * level-1/l1-sysio.lisp: Fix some indentation.
4579
45802006-12-03 02:21  gb
4581
4582        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4583        the header word right (after clearing its low byte) and compare the
4584        index to that.  (Shifting the index left - d'oh - obviously fails
4585        for indices of large magnitude.)
4586
45872006-11-29 21:07  gb
4588
4589        * lib/db-io.lisp: Indentation change.
4590       
4591        Add CDB-ENUMERATE-KEYS.
4592
45932006-11-29 18:37  gb
4594
4595        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4596        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4597        LISTP first.  (I hope ...).  Do so.
4598
45992006-11-28 18:42  gb
4600
4601        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4602
46032006-11-28 16:14  gb
4604
4605        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4606
46072006-11-28 16:12  gb
4608
4609        * examples/objc-runtime.lisp: Wrap a (primitive)
4610        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4611        NSThread.
4612
46132006-11-28 16:09  gb
4614
4615        * examples/cocoa-listener.lisp: Don't claim that a callback
4616        parameter is ignored; use IGNORABLE instead.
4617
46182006-11-21 01:28  gb
4619
4620        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4621        conditionalization.
4622
46232006-11-21 00:55  gb
4624
4625        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4626        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4627       
4628        Basic file-socket streams.
4629
46302006-11-10 05:08  gb
4631
4632        * release-notes.txt: Update.
4633
46342006-11-10 04:28  gb
4635
4636        * lisp-kernel/image.h: Bump min image version.
4637
46382006-11-10 04:19  gb
4639
4640        * xdump/heap-image.lisp: bump current image version.
4641
46422006-11-10 04:19  gb
4643
4644        * lisp-kernel/image.h: bump current, max image version.
4645
46462006-11-10 04:10  gb
4647
4648        * xdump/faslenv.lisp: Bump min fasl version.
4649
46502006-11-10 03:56  gb
4651
4652        * lib/nfcomp.lisp: bump current fasl version.
4653
46542006-11-10 03:47  gb
4655
4656        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4657        #_exit
4658
46592006-11-10 03:46  gb
4660
4661        * compiler/X86/x862.lisp: TYPE typo.
4662
46632006-11-10 03:32  gb
4664
4665        * xdump/faslenv.lisp: Bump max fasl version.
4666
46672006-11-10 03:25  gb
4668
4669        * level-1/version.lisp: Bump.  New snapshots today!
4670
46712006-11-09 16:26  gb
4672
4673        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4674       
4675        PREPARE-TO-QUIT kill stragglers without waiting as long.
4676
46772006-11-09 15:50  gb
4678
4679        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4680       
4681        Try to run lisp code after #_exit via lazarus(); this is for some
4682        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4683       
4684        The environment in which The Undead code runs is a little funky,
4685        especially on PPC.  There might be GC implications (cstack will
4686        contain call history as of the point when #_exit called atexit
4687        handlers, vstack & tstack are emptied in lazarus()).  We should
4688        barely run any code in this environment, but we will GC a time or
4689        two ...
4690
46912006-11-09 15:45  gb
4692
4693        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4694
46952006-11-09 15:43  gb
4696
4697        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4698        protocol.
4699
47002006-11-09 15:42  gb
4701
4702        * examples/cocoa-listener.lisp: :set-document-edited for listener
4703        "documents" is a no-op.
4704
47052006-11-09 15:39  gb
4706
4707        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4708        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4709
47102006-11-09 12:50  gb
4711
4712        * compiler/X86/x862.lisp: Always check that array-ctype's
4713        dimensions are a list before taking their length.
4714
47152006-11-09 12:13  gb
4716
4717        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4718        right thing ...
4719
47202006-11-09 10:08  gb
4721
4722        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4723        Three-arg aref/(setf aref) for x8664.
4724
47252006-11-09 05:37  gb
4726
4727        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4728        errors.
4729
47302006-11-09 05:37  gb
4731
4732        * compiler/nxenv.lisp: Operators for 3d array access.
4733
47342006-11-09 05:36  gb
4735
4736        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4737        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4738        array types.
4739
47402006-11-08 12:50  gb
4741
4742        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4743        Leopard nonsense: define the stack context struct separately, make
4744        the ucontext stack field an instance of it.  (Not -sure- if that
4745        was necessary, but :poweropen-target was accidentally on *FEATURES*
4746        and foreign struct layout was using read-time condtionalization to
4747        decide whether or not to use brain-dead structure-alignment rules
4748        leftover from AIX/PowerOpen.
4749
47502006-11-08 12:46  gb
4751
4752        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4753
47542006-11-08 12:40  gb
4755
4756        * compiler/optimizers.lisp: Try to infer/insert the array type when
4757        compiler-macroexpanding MAKE-ARRAY calls.
4758
47592006-11-08 12:39  gb
4760
4761        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4762        :poweropen-alignment rules.
4763
47642006-11-08 12:38  gb
4765
4766        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4767        to poweropen structure layout rules should be an attribute of the
4768        FTD, not done via read-time conditionalization.
4769
47702006-11-08 05:15  gb
4771
4772        * level-1/version.lisp: Bump.
4773
47742006-11-08 05:15  gb
4775
4776        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4777       
4778        TODO: get rid of "bivalent" streams, but allow switching some
4779        streams (sockets) between "character mode" and "binary mode".
4780
47812006-11-08 02:39  gb
4782
4783        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4784
47852006-11-07 21:10  gb
4786
4787        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4788        ASET->%ASET3.
4789
47902006-11-07 20:40  gb
4791
4792        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4793
47942006-11-07 20:39  gb
4795
4796        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4797
47982006-11-07 20:38  gb
4799
4800        * level-0/l0-array.lisp: Use %aref2,%aref3.
4801
48022006-11-07 20:37  gb
4803
4804        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4805        vector-store vinsns.
4806
48072006-11-07 20:37  gb
4808
4809        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4810
48112006-11-07 10:28  gb
4812
4813        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4814        .SPaset3.
4815
48162006-11-07 10:27  gb
4817
4818        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4819
48202006-11-07 10:26  gb
4821
4822        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4823        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4824
48252006-11-07 10:26  gb
4826
4827        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4828        mullw/mulld.
4829
48302006-11-07 04:12  gb
4831
4832        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4833
48342006-11-06 22:07  gb
4835
4836        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4837        :fixnum-vector case.
4838
48392006-11-06 22:04  gb
4840
4841        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4842        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4843        known/declared.
4844
48452006-11-06 22:02  gb
4846
4847        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4848        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4849        versions, but it helps not to have to remember which are
4850        implemented and which aren't.)
4851
48522006-11-06 22:01  gb
4853
4854        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4855
48562006-11-06 22:00  gb
4857
4858        * compiler/nx1.lisp: New %ASET2 handling.
4859
48602006-11-06 21:59  gb
4861
4862        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4863        never assigned to.
4864
48652006-11-05 22:09  gb
4866
4867        * level-1/x86-trap-support.lisp: Try to work around
4868        incompatibilites in Tiger/Leopard headers.
4869
48702006-11-05 22:08  gb
4871
4872        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4873        the foreign function may not exist.
4874
48752006-11-05 20:41  gb
4876
4877        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4878
48792006-11-05 07:55  gb
4880
4881        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4882        x86-64, as well.
4883
48842006-11-05 07:52  gb
4885
4886        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4887
48882006-11-05 07:50  gb
4889
4890        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4891        .SPaset2.
4892
48932006-11-05 07:48  gb
4894
4895        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4896        testing simple-array-ness, add the (possibly 0) displacement from
4897        the header before handling the simple aref of the data vector.
4898
48992006-11-05 07:47  gb
4900
4901        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4902        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4903
49042006-11-05 07:46  gb
4905
4906        * level-1/version.lisp: Bump; new binaries soon.
4907
49082006-11-05 07:46  gb
4909
4910        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4911        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4912        4G seconds after an EINTR on Leopard.
4913
49142006-11-05 07:44  gb
4915
4916        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4917        if any non-fixnum bits would be set in the result.  (Should
4918        probably make this true on all platforms; for PPC64, it's important
4919        for foreign function addresses that're ... suboptimally aligned.)
4920
49212006-11-05 07:42  gb
4922
4923        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4924        %NANOSLEEP's second (by reference) argument contains garbage after
4925        an EINTR.  (The L word, again.)
4926
49272006-11-05 07:41  gb
4928
4929        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4930        into the kernel.
4931
49322006-11-05 07:40  gb
4933
4934        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4935        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4936        MACPTR->FIXNUM return NIL if an address isn't representable as a
4937        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4938        can't return a fixnum on PPC (really just affects PPC64.)
4939
49402006-11-05 07:37  gb
4941
4942        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4943
49442006-11-05 07:36  gb
4945
4946        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4947        2d aref support/changes.
4948
49492006-11-05 07:36  gb
4950
4951        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4952        x8664 wrt 2d aref.  Stll a ways to go.
4953
49542006-11-05 07:35  gb
4955
4956        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4957
49582006-11-04 00:05  gb
4959
4960        * level-1/version.lisp: Bump.
4961
49622006-11-03 23:10  gb
4963
4964        * level-1/ppc-error-signal.lisp: fix parens.
4965
49662006-11-03 23:09  gb
4967
4968        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4969        gvector types contains :struct, not :structure.
4970
49712006-11-03 23:08  gb
4972
4973        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4974        subprim.
4975       
4976        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
4977        in the builtin functions table.
4978
49792006-11-03 15:19  gb
4980
4981        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
4982
49832006-11-03 15:18  gb
4984
4985        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
4986
49872006-11-03 15:17  gb
4988
4989        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
4990        type-error UUOs.
4991
49922006-11-03 15:16  gb
4993
4994        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
4995
49962006-11-03 15:16  gb
4997
4998        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
4999        (array-header) layout.
5000
50012006-11-03 13:46  gb
5002
5003        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5004        returns its argument if all members are SPECIALIZERS.
5005       
5006        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5007        arguments, for the benefit of people who haven't read the MOP spec
5008        or who don't realize that the MOP defines some things differently
5009        from CLHS.
5010
50112006-11-03 13:38  gb
5012
5013        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5014        to refer to primitive structure type.
5015       
5016        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5017
50182006-11-03 13:37  gb
5019
5020        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5021        :STRUCTURE) is on target-gvector-types.
5022
50232006-11-03 12:53  gb
5024
5025        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5026
50272006-11-03 12:52  gb
5028
5029        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5030         More to come ...
5031
50322006-11-03 12:52  gb
5033
5034        * lisp-kernel/x86-constants64.s: Define array-header layout.
5035
50362006-11-03 12:51  gb
5037
5038        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5039        encodings, new type-error constants.
5040
50412006-11-03 12:50  gb
5042
5043        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5044        traps.
5045
50462006-11-03 12:49  gb
5047
5048        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5049        constant-redefinition CERRORs.
5050
50512006-11-03 12:48  gb
5052
5053        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5054
50552006-11-03 12:47  gb
5056
5057        * level-0/l0-pred.lisp: array--header -> array-header.
5058
50592006-11-03 12:47  gb
5060
5061        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5062        add/change some 2d array stuff.
5063
50642006-11-03 12:43  gb
5065
5066        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5067        subprims; seem to be much (>5x) faster than the lisp/lap versions
5068        (though we can generally be faster still when we know the
5069        element-type and/or know whether the array is simple or explicitly
5070        displaced.)
5071
50722006-11-03 12:41  gb
5073
5074        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5075        related changes.
5076       
5077        Split the code which handles bounds/type-checking in vref out from
5078        the code which actually does the reference, so that the latter can
5079        be used in multidimensional cases.
5080       
5081        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5082        general case.)
5083
50842006-11-03 12:38  gb
5085
5086        * compiler/nx1.lisp: Change handling of 2d-aref.
5087
50882006-11-03 12:37  gb
5089
5090        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5091        general-aref2.  More changes to come (and this may affect
5092        compilation on PPC until some PPC compiler changes are
5093        made/checked-in.)
5094
50952006-11-03 12:35  gb
5096
5097        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5098        the range 128-255, rather than 64-127; more are defined.
5099
51002006-11-02 09:43  gb
5101
5102        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5103
51042006-11-02 09:37  gb
5105
5106        * compiler/arch.lisp: New error constants; work in progress ...
5107
51082006-11-01 11:40  gb
5109
5110        * lisp-kernel/errors.s: Some new constants; more to check in later.
5111
51122006-10-31 03:39  gb
5113
5114        * level-0/l0-io.lisp: You must be reading the OLD rule book
5115        (Leopard and #$EINTR).
5116
51172006-10-31 03:21  gb
5118
5119        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5120        the tcr.  Initialize "addr" before testing it ...
5121
51222006-10-31 03:21  gb
5123
5124        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5125        the tcr.
5126
51272006-10-30 20:40  gb
5128
5129        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5130        expands into something more useful.
5131
51322006-10-30 20:39  gb
5133
5134        * lisp-kernel/ppc-spentry.s: Fix ppc32
5135        misc_ref_double_float_vector.
5136
51372006-10-30 00:24  gb
5138
5139        * level-0/l0-bignum64.lisp: Enable the destructive version of
5140        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5141        provide/fix supporting functions.  Seems to work on ppc64; needs
5142        testing on x8664.
5143
51442006-10-27 17:49  gb
5145
5146        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5147
51482006-10-25 20:36  gb
5149
5150        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5151        variants): always clear the untyi-char.
5152       
5153        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5154        needs an argument.
5155       
5156        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5157        bivalent streams.
5158       
5159        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5160
51612006-10-24 12:35  gb
5162
5163        * level-1/version.lisp: Bump.
5164
51652006-10-24 01:29  gb
5166
5167        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5168        _SPdestbind1 (still used in inlining, sometimes.)
5169
51702006-10-24 01:05  gb
5171
5172        * release-notes.txt: Change the date, add/change some content.
5173
51742006-10-24 01:05  gb
5175
5176        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5177        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5178
51792006-10-24 00:56  gb
5180
5181        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5182        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5183
51842006-10-24 00:55  gb
5185
5186        * level-1/l1-streams.lisp: When recycling
5187        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5188        (Failure to do this can screw up the pretty-printer, among other
5189        things.)
5190
51912006-10-24 00:52  gb
5192
5193        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5194        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5195
51962006-10-23 17:03  gb
5197
5198        * release-notes.txt: Updated; almost ready to go (still a
5199        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5200
52012006-10-23 16:43  gb
5202
5203        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5204        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5205
52062006-10-23 16:42  gb
5207
5208        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5209        STREAM-EXTERNAL-FORMAT) methods.
5210
52112006-10-23 16:41  gb
5212
5213        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5214        stuff.
5215
52162006-10-23 08:27  gb
5217
5218        * level-1/version.lisp: Bump; binaries today, honest.
5219
52202006-10-23 08:27  gb
5221
5222        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5223
52242006-10-23 08:26  gb
5225
5226        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5227        macros were checking for the presence of an input lock ...
5228
52292006-10-23 05:40  gb
5230
5231        * level-1/l1-streams.lisp: Optimize write-string on string streams
5232        a little.
5233
52342006-10-23 05:26  gb
5235
5236        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5237        which evaluates the string form twice; don't do whatever was being
5238        done to default the element type of the string stream.
5239
52402006-10-23 05:24  gb
5241
5242        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5243        keyword/subtype checking if element-type not provided.  (Could also
5244        skip it if it's explicit and obviously OK.)
5245
52462006-10-23 05:22  gb
5247
5248        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5249        "current" allocation if nothing's reserved.
5250
52512006-10-23 05:19  gb
5252
5253        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5254        update_bytes_allocated (sign of "disp").
5255
52562006-10-22 08:02  gb
5257
5258        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5259        form like a PROGN if there are no other forms.
5260
52612006-10-22 08:01  gb
5262
5263        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5264        ioblock functions.
5265       
5266        New string-stream implementation.  Better ...
5267
52682006-10-22 07:59  gb
5269
5270        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5271        before the stream closes.
5272
52732006-10-22 07:59  gb
5274
5275        * lib/pprint.lisp: Don't assume that string output stream strings
5276        have a fill-pointer; use STREAM-POSITION instead.
5277
52782006-10-22 07:57  gb
5279
5280        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5281        functions, after all.
5282       
5283        Go through (new) ioblock-unread-char-function.
5284
52852006-10-22 07:55  gb
5286
5287        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5288        x/s
5289
52902006-10-21 18:46  gb
5291
5292        * level-1/l1-streams.lisp: Typo.
5293
52942006-10-21 18:41  gb
5295
5296        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5297        fields in pseudo sigcontexts.
5298
52992006-10-21 18:40  gb
5300
5301        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5302        twice, etc.)
5303
53042006-10-21 18:35  gb
5305
5306        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5307        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5308        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5309        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5310        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5311
53122006-10-21 16:45  gb
5313
5314        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5315        encodings!
5316
53172006-10-19 13:48  gb
5318
5319        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5320        arg_z - in %safe-get-ptr.
5321
53222006-10-19 13:22  gb
5323
5324        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5325        optional, use #\Sub char-code as replaement char.
5326
53272006-10-19 13:21  gb
5328
5329        * examples/objc-runtime.lisp: Missing close paren.
5330
53312006-10-19 13:19  gb
5332
5333        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5334        strings to/from foreign memory.
5335
53362006-10-19 13:18  gb
5337
5338        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5339
53402006-10-18 08:04  gb
5341
5342        * level-1/version.lisp: Bump.  Binaries later today ?
5343
53442006-10-18 07:38  gb
5345
5346        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5347        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5348        class becomes (or ceases to be) a properly named class.
5349       
5350        The pre-bootstrapping version handles simpler cases of that; use
5351        ALIAS-CLASS to register some early class names as type names.
5352
53532006-10-18 07:36  gb
5354
5355        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5356        system, since only symbols which name properly-named classes are
5357        type specifiers.  Changing the name of a class can either introduce
5358        or remove a properly-named class.
5359       
5360        Classes that have the kernel-p attribute shouldn't have their names
5361        changed casually.
5362
53632006-10-18 07:33  gb
5364
5365        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5366        MAKE-SOCKET, pass it down to whatever function actually creates a
5367        stream socket.
5368
53692006-10-18 02:12  gb
5370
5371        * compiler/X86/x862.lisp: Allow closed-over addresses in
5372        conditional-form, NOT.
5373
53742006-10-18 01:43  gb
5375
5376        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5377        safe_ref_addres.
5378
53792006-10-18 01:43  gb
5380
5381        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5382
53832006-10-18 01:41  gb
5384
5385        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5386        addresses/vcells to nil.
5387
53882006-10-18 01:41  gb
5389
5390        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5391        addresses to NIL.
5392       
5393        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5394        level inline.
5395
53962006-10-18 01:39  gb
5397
5398        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5399        for a few months now.  The disassembler is always the last to know.
5400
54012006-10-17 19:15  gb
5402
5403        * compiler/PPC/PPC32/ppc32-arch.lisp,
5404        compiler/PPC/PPC64/ppc64-arch.lisp,
5405        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5406        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5407        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5408        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5409        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5410        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5411       
5412        Handle memory faults to safe-ref-addres on PPC (so far).
5413       
5414        Try using SAFE-GET-PTR in objc runtime (untested).
5415
54162006-10-17 17:34  gb
5417
5418        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5419        type in acode.
5420
54212006-10-17 14:02  gb
5422
5423        * level-1/l1-unicode.lisp: BOM-ENCODING.
5424
54252006-10-17 14:02  gb
5426
5427        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5428        something.
5429       
5430        Clear the pending-bom flag when seeking.
5431
54322006-10-17 14:01  gb
5433
5434        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5435        ioblock-based character streams.
5436
54372006-10-17 13:45  gb
5438
5439        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5440        *interrupt-level* inline.
5441
54422006-10-17 13:44  gb
5443
5444        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5445        immmediate operand (xuuo).
5446
54472006-10-17 13:39  gb
5448
5449        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5450        when necessary.
5451
54522006-10-17 13:39  gb
5453
5454        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5455        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5456
54572006-10-15 17:51  gb
5458
5459        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5460       
5461        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5462
54632006-10-15 17:51  gb
5464
5465        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5466
54672006-10-15 17:50  gb
5468
5469        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5470
54712006-10-14 07:41  gb
5472
5473        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5474        ENSURING-NODE-TARGET.
5475       
5476        Inline the fixnum case of two-arg numeric comparisons.
5477
54782006-10-14 07:39  gb
5479
5480        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5481        INLINE-SUB2 support.
5482
54832006-10-14 06:30  gb
5484
5485        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5486        generated DEFSTRUCT accessors.
5487
54882006-10-14 06:27  gb
5489
5490        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5491       
5492        Do the fixnum case of two-argument subtraction inline.
5493       
5494        Inline the fixnum case of two-argument numeric comparisons.
5495       
5496        STRUCT-REF avoids typechecking when reckless.
5497
54982006-10-14 06:21  gb
5499
5500        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5501        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5502
55032006-10-14 06:20  gb
5504
5505        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5506        little differently.
5507       
5508        Add xchg-registers.
5509
55102006-10-13 04:54  gb
5511
5512        * compiler/nx1.lisp: Use new NUMCMP operator.
5513
55142006-10-13 04:53  gb
5515
5516        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5517        in effect at call time, not those in effect at definition time.
5518
55192006-10-13 04:50  gb
5520
5521        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5522        inlining issues.
5523
55242006-10-13 04:30  gb
5525
5526        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5527
55282006-10-12 19:46  gb
5529
5530        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5531        "--" is seen.
5532
55332006-10-12 19:45  gb
5534
5535        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5536        newline translation differenly (at the character I/O level, not the
5537        buffer level).
5538       
5539        All character encoding/decoding functions operate on octets, not
5540        necessarily code units.  (The stream encode/decode functions are an
5541        exception; serialization and byte ordering are handled by the
5542        stream.)
5543
55442006-10-09 16:34  gb
5545
5546        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5547        encode a character in (implicit) iso-8859-1.
5548
55492006-10-09 16:33  gb
5550
5551        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5552        a replacement character.
5553
55542006-10-09 16:31  gb
5555
5556        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5557        write/read something, even if it's a replacement character of some
5558        sort.
5559
55602006-10-09 15:19  gb
5561
5562        * level-1/l1-streams.lisp: More stuff about line termination.  When
5563        will this end ?
5564
55652006-10-09 15:19  gb
5566
5567        * lib/chars.lisp: Use a hashtable to map characters to their names.
5568         (Maybe a sparse vector ?).
5569
55702006-10-09 15:18  gb
5571
5572        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5573        their names.  (Maybe a sparse vector ?).
5574       
5575        Define #\Sub and #\Replacement_Character.
5576
55772006-10-08 21:17  gb
5578
5579        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5580        NEW-BACKTRACE for a while now.
5581
55822006-10-08 21:16  gb
5583
5584        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5585        Panther happy.
5586
55872006-10-08 20:30  gb
5588
5589        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5590
55912006-10-08 20:30  gb
5592
5593        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5594        pathname, before it's too late ...
5595
55962006-10-08 20:29  gb
5597
5598        * level-1/l1-unicode.lisp: ASCII, some other changes.
5599
56002006-10-08 20:29  gb
5601
5602        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5603        :line-termination option to MAKE-FD-STREAM.
5604
56052006-10-08 20:28  gb
5606
5607        * level-1/l1-streams.lisp: Yet another line-termination translation
5608        scheme; hopefully, the last for a while. (More tedium before it's
5609        actually installed.)
5610
56112006-10-08 20:27  gb
5612
5613        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5614        #\Paragraph_separator.
5615
56162006-10-07 20:35  gb
5617
5618        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5619
56202006-10-07 20:34  gb
5621
5622        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5623        kernel debugger if interactive streams aren't initialized yet.
5624        (We'd probably get there sooner or later in that case; try to get
5625        there sooner.)
5626
56272006-10-07 20:33  gb
5628
5629        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5630        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5631        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5632        method.)
5633
56342006-10-07 20:32  gb
5635
5636        * level-1/l1-application.lisp: Handle the (new)
5637        -K/--terminal-encoding command-line argument.
5638
56392006-10-07 11:14  gb
5640
5641        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5642        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5643        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5644
56452006-10-07 11:13  gb
5646
5647        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5648        entered when --batch is in effect.
5649
56502006-10-07 11:12  gb
5651
5652        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5653        PROCESS-EXIT-APPLICATION.
5654
56552006-10-07 11:11  gb
5656
5657        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5658        *stdout* here.
5659
56602006-10-06 04:49  gb
5661
5662        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5663        TRANSLATE slot to IO-BUFFER.
5664
56652006-10-06 04:40  gb
5666
5667        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5668
56692006-10-06 04:39  gb
5670
5671        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5672
56732006-10-06 04:38  gb
5674
5675        * level-1/version.lisp: Bump.
5676
56772006-10-06 04:38  gb
5678
5679        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5680        replacement character.
5681
56822006-10-05 14:46  gb
5683
5684        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5685
56862006-10-05 14:46  gb
5687
5688        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5689
56902006-10-05 14:46  gb
5691
5692        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5693        C-like value (all exceptions masked) before doing a callback.  (Not
5694        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5695        value, where most exceptions were unmasked, and this caused FP
5696        exceptions when calling out to foreign code with the "lispy"
5697        tcr.foreign_mxcsr in effect.)
5698       
5699        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5700        the spurious SIGTRAPs, but might be the right idea (and might save
5701        a context switch or two.)
5702       
5703        Mach exception stuff initializes rflags to exception rflags when
5704        arranging to resume thread at handler.  Leaving them uninitialized
5705        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5706        set.
5707
57082006-10-05 06:09  gb
5709
5710        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5711
57122006-10-05 06:09  gb
5713
5714        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5715        #\U+xxxx syntax.
5716
57172006-10-05 06:08  gb
5718
5719        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5720
57212006-10-05 06:07  gb
5722
5723        * level-1/l1-sysio.lisp: Try to get
5724        line-termination/external-format stuff working.
5725
57262006-10-05 05:35  gb
5727
5728        * level-1/l1-streams.lisp: Assume that character data is always
5729        encoded as one or more 8-bit octets.
5730
57312006-10-05 04:59  gb
5732
5733        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5734        just before we make the first one.
5735
57362006-10-02 08:13  gb
5737
5738        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5739        handlers, so we need to make handlers do a sigreturn after
5740        switching off the signal stack, etc.
5741
57422006-10-02 08:11  gb
5743
5744        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5745        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5746        handling for cleanup of tcr pending exception and since we can't
5747        easily restore the signal mask.)
5748       
5749        (Up until this point, SIGRETURN has been a nop on Darwin.)
5750
57512006-10-02 04:59  gb
5752
5753        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5754        earlier.
5755
57562006-10-02 04:47  gb
5757
5758        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5759        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5760        systems <= 10.4).
5761
57622006-10-02 02:46  gb
5763
5764        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5765        Try to make x86-64 version compile under 10.4 again; see if this
5766        breaks post-10.4 compilation.
5767
57682006-10-02 02:33  gb
5769
5770        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5771        x86-exceptions.h: Change things so that they compile for x86-64 on
5772        systems later than 10.4.  Almost certainly break 10.4 compilation
5773        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5774        hours on crap like this, just let me know!)
5775
57762006-09-27 20:33  gb
5777
5778        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5779
57802006-09-27 20:33  gb
5781
5782        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5783
57842006-09-27 05:46  gb
5785
5786        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5787        BASIC-STREAM classes a class prototype.
5788
57892006-09-27 05:45  gb
5790
5791        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5792        initialization, to make it easier to use MAKE-FD-STREAM to open
5793        (seekable) FILE-STREAMs.
5794
57952006-09-27 05:41  gb
5796
5797        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5798        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5799
58002006-09-27 05:39  gb
5801
5802        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5803        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5804        division-by-zero, but that should be masked when in foreign code.)
5805        Don't reload the lisp mxcsr until other registers have been popped,
5806        to make debugging easier in case it's the act of reloading the
5807        mxcsr that causes the spurious trap.)
5808
58092006-09-27 05:36  gb
5810
5811        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5812
58132006-09-27 05:35  gb
5814
5815        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5816        was parenthesized in such a way as to not return the error value on
5817        error.
5818
58192006-09-27 05:34  gb
5820
5821        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5822        passing context into the kernel makes it too difficult to debug/get
5823        backtrace, etc.)
5824
58252006-09-27 05:33  gb
5826
5827        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5828        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5829
58302006-09-27 05:05  gb
5831
5832        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5833        (mostly for BUILT-IN-CLASSes).
5834
58352006-09-26 20:49  gb
5836
5837        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5838        a BASIC-P argument.
5839
58402006-09-26 20:47  gb
5841
5842        * level-1/l1-streams.lisp: More changes.  Imagine that.
5843
58442006-09-26 20:46  gb
5845
5846        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5847        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5848
58492006-09-26 20:43  gb
5850
5851        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5852        take/return strings, not chars.
5853       
5854        Some bom stuff.
5855
58562006-09-24 20:14  gb
5857
5858        * lib/chars.lisp: Check for assumptions about character size.
5859        Remove some %i-isms (fixnum arithmetic), make assertions about type
5860        of char-code.
5861
58622006-09-24 20:12  gb
5863
5864        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5865        CHKBOUNDS function.  Simpler STRING-START-END.
5866
58672006-09-24 20:11  gb
5868
5869        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5870        Probably belongs elsewhere; some encodings may not make it at all
5871        possible.
5872
58732006-09-24 20:07  gb
5874
5875        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5876        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5877
58782006-09-24 20:00  gb
5879
5880        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5881        line-termination slot from ioblock and corresponding arg from
5882        functions which initialize it.
5883
58842006-09-24 19:59  gb
5885
5886        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5887        file-ioblock.
5888
58892006-09-24 19:58  gb
5890
5891        * level-1/l1-unicode.lisp: Buffer translation functions don't
5892        belong here; start thinking about BOM.
5893
58942006-09-24 19:57  gb
5895
5896        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5897        it's been a :u32const for the last few weeks ...
5898
58992006-09-24 04:29  gb
5900
5901        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5902        the code is within its bounds.
5903
59042006-09-24 04:27  gb
5905
5906        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5907        mappings in a vector and a hash table, rather than in an alist.
5908
59092006-09-24 04:26  gb
5910
5911        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5912        character constant fasl encoding ($fasl-char).
5913
59142006-09-23 05:31  gb
5915
5916        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5917        sure which are the most important.)
5918
59192006-09-23 05:29  gb
5920
5921        * level-1/l1-sysio.lisp: Start to separate
5922        line-termination/external-format stuff.
5923
59242006-09-23 05:28  gb
5925
5926        * level-1/l1-streams.lisp: Lots-o-changes.
5927
59282006-09-23 05:28  gb
5929
5930        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5931        UTF-8 (mostly for debugging utf-8 ...)
5932
59332006-09-21 04:07  gb
5934
5935        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5936        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5937        clobbered r11, sometimes didn't.)
5938
59392006-09-21 04:05  gb
5940
5941        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5942
59432006-09-21 04:05  gb
5944
5945        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5946        callback_for_interrupt.
5947
59482006-09-21 04:04  gb
5949
5950        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5951        x86-64 ucontext/mcontext on Darwin.
5952
59532006-09-21 04:02  gb
5954
5955        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5956        flavors.
5957       
5958        Add a type decl in %nanosleep.
5959
59602006-09-21 04:01  gb
5961
5962        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5963        vinsns.
5964
59652006-09-21 04:01  gb
5966
5967        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5968        values.  (Probably only matters in a few cases, like the Darwin
5969        x86-64 version of #_nanosleep, which returns a non-sign-extended
5970        "int" value if the sleep is interruted.)
5971
59722006-09-20 06:34  gb
5973
5974        * level-1/version.lisp: Bump.
5975
59762006-09-20 04:24  gb
5977
5978        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5979        slight improvements in signed-byte boxing, typechecking.
5980
59812006-09-20 04:22  gb
5982
5983        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
5984
59852006-09-20 04:21  gb
5986
5987        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
5988
59892006-09-20 04:21  gb
5990
5991        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
5992
59932006-09-20 04:20  gb
5994
5995        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
5996        versions.  Need a "logical" UTF-16, which deals with byte-order
5997        marks and a means of installing a concrete encoding.  Needs
5998        testing.
5999
60002006-09-20 04:15  gb
6001
6002        * level-1/l1-streams.lisp: Numerous changes.
6003
60042006-09-20 04:15  gb
6005
6006        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6007
60082006-09-20 04:14  gb
6009
6010        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6011        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6012
60132006-09-20 04:12  gb
6014
6015        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6016        8,16,32,64
6017
60182006-09-19 01:38  gb
6019
6020        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6021        vinsns for REQUIRE-[US][8,16,32,64]
6022
60232006-09-19 01:37  gb
6024
6025        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6026        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6027        64).
6028
60292006-09-19 01:36  gb
6030
6031        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6032
60332006-09-19 01:36  gb
6034
6035        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6036        operators.
6037
60382006-09-19 01:34  gb
6039
6040        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6041        require-[us][8,16,32,64] when possible.
6042
60432006-09-19 01:34  gb
6044
6045        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6046
60472006-09-19 01:33  gb
6048
6049        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6050
60512006-09-19 01:15  gb
6052
6053        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6054        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6055
60562006-09-19 00:36  gb
6057
6058        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6059
60602006-09-18 21:42  gb
6061
6062        * lib/macros.lisp: Macros for locking the input/output locks of an
6063        ioblock, assuming that it exists.
6064
60652006-09-17 00:45  gb
6066
6067        * level-1/l1-streams.lisp: more changes
6068
60692006-09-13 06:52  gb
6070
6071        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6072        WRITE-STRING, TERPRI.
6073
60742006-09-13 06:08  gb
6075
6076        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6077
60782006-09-13 06:07  gb
6079
6080        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6081        named encoding isn't defined.
6082       
6083        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6084
60852006-09-13 06:06  gb
6086
6087        * level-1/l1-streams.lisp: More functions in the ioblock, some
6088        support for 8-bit encodings (like utf-8).  Not finished, but
6089        getting hard to bootstrap; need to check in and build on all
6090        platforms before it gets even harder.
6091
60922006-09-12 05:34  gb
6093
6094        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6095        %copy-ivector-to-pointer) in BUG.
6096
60972006-09-12 05:31  gb
6098
6099        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6100        altstack_signal_handler is entered in foreign code.  (Maybe want to
6101        signal a lisp error in some cases, but this is currently fatal and
6102        we might as well die earlier than with a stack overflow.)
6103
61042006-09-12 05:29  gb
6105
6106        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6107        direction right on FreeBSD.  (Much better than randomly scribbling
6108        on memory in the GC, as the FreeBSD port has been doing for months
6109        now ...)
6110
61112006-09-11 21:31  gb
6112
6113        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6114        intersection.
6115
61162006-09-11 21:21  gb
6117
6118        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6119
61202006-09-11 20:10  gb
6121
6122        * level-1/l1-unicode.lisp: Character encodings contain a
6123        LITERAL-CHAR-CODE-LIMIT field.
6124
61252006-09-11 20:09  gb
6126
6127        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6128        functionality for encoded streams.
6129
61302006-09-11 20:08  gb
6131
6132        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6133
61342006-09-09 04:39  gb
6135
6136        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6137        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6138
61392006-09-09 04:21  gb
6140
6141        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6142        reasonable for ^c syntax; don't do MOD for octal.
6143
61442006-09-09 04:21  gb
6145
6146        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6147        agains boxed Unicode limit
6148
61492006-09-09 03:56  gb
6150
6151        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6152        x8664 functions, hash tables.  (PPC versions should handle hash
6153        table key movement.)
6154
61552006-09-08 22:47  gb
6156
6157        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6158        #x100.
6159
61602006-09-08 22:38  gb
6161
6162        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6163        FIXNUM->CHAR: return NIL for surrogate pairs.
6164
61652006-09-08 22:33  gb
6166
6167        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6168
61692006-09-08 22:31  gb
6170
6171        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6172        sanity-check fn/lr).
6173
61742006-09-08 18:55  gb
6175
6176        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6177        necessarily want arbitrary expressions to be compiled unsafely; do
6178        want to avoid a little type-checking sometimes.)
6179
61802006-09-08 18:52  gb
6181
6182        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6183        for values in the surrogate-pairs range.  (There are other things
6184        that it could plausibly return NIL for.)
6185
61862006-09-08 18:51  gb
6187
6188        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6189        now, just purify strings.
6190
61912006-09-08 18:48  gb
6192
6193        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6194        8), which is still useful (and exactly what it used to do.)
6195
61962006-09-08 18:47  gb
6197
6198        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6199
62002006-09-08 18:44  gb
6201
6202        * level-1/level-1.lisp: Load l1-unicode.
6203
62042006-09-08 18:44  gb
6205
6206        * level-1/l1-unicode.lisp: New file.
6207
62082006-09-07 03:50  gb
6209
6210        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6211
62122006-09-07 03:44  gb
6213
6214        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6215        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6216        attribute of the backend (may need more pure space on x86-64.)
6217
62182006-09-07 03:43  gb
6219
6220        * lisp-kernel/image.h: Bump abi version.
6221
62222006-09-07 03:43  gb
6223
6224        * level-1/version.lisp: Bump.
6225
62262006-09-07 02:58  gb
6227
6228        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6229        seems to mask synchronous signals.  Unmask them in signal handlers.
6230
62312006-09-07 02:57  gb
6232
6233        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6234        signal mask.
6235
62362006-09-07 02:56  gb
6237
6238        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6239        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6240        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6241        (char are 32 bits wide on all platforms now.)
6242
62432006-09-07 00:40  gb
6244
6245        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6246        SIGNUM_FOR_PROCESS_INTERRUPT.
6247
62482006-09-07 00:12  gb
6249
6250        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6251        box_fixnum_no_flags.
6252
62532006-09-07 00:12  gb
6254
6255        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6256        vice imul).
6257
62582006-09-06 21:18  gb
6259
6260        * compiler/X86/X8664/x8664-arch.lisp: Need
6261        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6262
62632006-09-06 18:37  gb
6264
6265        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6266        strings.
6267
62682006-09-06 18:36  gb
6269
6270        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6271        typecodes.
6272
62732006-09-06 18:36  gb
6274
6275        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6276        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6277
62782006-09-06 18:35  gb
6279
6280        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6281        contains entry for 32-bit BASE-CHAR.
6282
62832006-09-06 18:35  gb
6284
6285        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6286        extracting typecodes.
6287
62882006-09-06 18:34  gb
6289
6290        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6291        32-bit-chars.
6292
62932006-09-06 18:33  gb
6294
6295        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6296        :rcontext pseudo-register name until the target backend is in
6297        place.
6298
62992006-09-06 16:39  gb
6300
6301        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6302        stuff for x8664.
6303
63042006-09-06 16:39  gb
6305
6306        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6307        don't mix!
6308
63092006-09-06 16:38  gb
6310
6311        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6312
63132006-09-06 16:38  gb
6314
6315        * level-1/linux-files.lisp: process input/output: don't assume
6316        8-bit strings.
6317
63182006-09-06 14:42  gb
6319
6320        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6321        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6322        (since that creates confustion when cross-compiling from a
6323        non-poweropen host.)
6324
63252006-09-06 00:08  gb
6326
6327        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6328        8-bit char stuff.
6329
63302006-09-06 00:08  gb
6331
6332        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6333        here.
6334
63352006-09-05 22:49  gb
6336
6337        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6338        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6339
63402006-09-05 22:42  gb
6341
6342        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6343        of a non-simple string, understand char width issues.
6344
63452006-09-05 22:41  gb
6346
6347        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6348
63492006-09-05 22:40  gb
6350
6351        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6352        string type.
6353
63542006-09-05 22:39  gb
6355
6356        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6357
63582006-09-05 22:38  gb
6359
6360        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6361
63622006-09-05 09:13  gb
6363
6364        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6365        32-bit chars, too.
6366
63672006-09-05 09:01  gb
6368
6369        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6370        defaults to 32-bit chars.
6371
63722006-09-05 05:18  gb
6373
6374        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6375
63762006-09-05 05:18  gb
6377
6378        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6379        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6380
63812006-09-05 05:17  gb
6382
6383        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6384        for char size.
6385
63862006-09-05 05:16  gb
6387
6388        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6389        strings.
6390
63912006-09-05 05:15  gb
6392
6393        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6394        lisp_char_code; this may be more portable.
6395
63962006-09-05 05:14  gb
6397
6398        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6399
64002006-09-05 05:13  gb
6401
6402        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6403        8-bit char/strings.
6404
64052006-09-05 05:13  gb
6406
6407        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6408        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6409        the coding system in use.)
6410
64112006-09-05 05:09  gb
6412
6413        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6414        assume 8-bit strings.
6415
64162006-09-05 05:08  gb
6417
6418        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6419
64202006-09-05 05:07  gb
6421
6422        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6423        when #-target-8-bit-chars.
6424
64252006-09-05 05:06  gb
6426
6427        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6428        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6429
64302006-09-05 05:05  gb
6431
6432        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6433        :SIMPLE-STRING case with constant index.
6434
64352006-09-04 17:44  gb
6436
6437        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6438        "unsigned char", and cross fingers.
6439
64402006-09-04 17:38  gb
6441
6442        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6443        lisp_char_code type, use it when printing lisp string in the kernel
6444        debugger.
6445
64462006-09-04 17:28  gb
6447
6448        * level-1/version.lisp: Bump.
6449
64502006-09-04 17:18  gb
6451
6452        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6453        conditionalized backwards in PPC64 %INIT-MISC.
6454
64552006-09-04 17:05  gb
6456
6457        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6458        from the target arch (for bootstrapping.)
6459
64602006-09-04 17:04  gb
6461
6462        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6463        type of rdtab.ttab.
6464       
6465        Don't treat (code-char #xca) as whitespace; do treat (code-char
6466        #xa0) as whitespace.  (The former happens to be how the latter was
6467        encoded in MacRoman.)
6468       
6469        Handle U+<hex> syntax in NAME-CHAR.
6470
64712006-09-04 16:16  gb
6472
6473        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6474        and the char code with #xff to get the low byte.
6475
64762006-09-04 16:15  gb
6477
6478        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6479        and the char code with #xff or 255., not with #x255.  (Cause lots
6480        of wackiness, mostly in readtable initialization.)
6481
64822006-09-04 16:12  gb
6483
6484        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6485        u8->char (which is no more) in %CHAR-CODE.
6486
64872006-09-04 06:04  gb
6488
6489        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6490        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6491
64922006-09-04 06:03  gb
6493
6494        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6495        assertion.
6496
64972006-09-04 03:44  gb
6498
6499        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6500
65012006-09-04 03:43  gb
6502
6503        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6504        crf case of UNBOX-BASE-CHAR.
6505
65062006-09-04 02:30  gb
6507
6508        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6509        error.
6510
65112006-09-04 02:29  gb
6512
6513        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6514        size.
6515
65162006-09-04 02:26  gb
6517
6518        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6519        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6520        CHAR_SIZE_32.
6521
65222006-09-04 02:24  gb
6523
6524        * compiler/PPC/PPC32/ppc32-arch.lisp,
6525        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6526        compiler/PPC/PPC64/ppc64-arch.lisp,
6527        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6528        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6529
65302006-09-04 02:23  gb
6531
6532        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6533        32-bit characters.
6534
65352006-09-04 02:22  gb
6536
6537        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6538
65392006-09-03 16:03  gb
6540
6541        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6542        conditionalize new string types.
6543
65442006-09-03 16:03  gb
6545
6546        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6547        string element size.
6548
65492006-09-03 16:02  gb
6550
6551        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6552        level-0/l0-pred.lisp: Sketch out new string types (read-time
6553        conditionalized.)
6554
65552006-09-03 15:02  gb
6556
6557        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6558        bootstrapping.
6559
65602006-09-03 14:20  gb
6561
6562        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6563
65642006-09-03 13:22  gb
6565
6566        * compiler/: X86/X8664/x8664-backend.lisp,
6567        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6568        :target-8-bit-chars on target features.
6569
65702006-09-03 13:21  gb
6571
6572        * level-0/l0-int.lisp: Some comments/indentation.
6573
65742006-09-03 13:01  gb
6575
6576        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6577        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6578
65792006-09-02 11:24  gb
6580
6581        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6582
65832006-09-02 11:15  gb
6584
6585        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6586        a hex digit.
6587
65882006-09-02 11:11  gb
6589
6590        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6591        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6592       
6593        Don't do the whole msg_server here; just do the exc_server thing.
6594       
6595        Fix a couple of Mach exception-handling bugs; at least one more may
6596        remain.
6597
65982006-09-02 11:07  gb
6599
6600        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6601        pseudo_sigreturn.
6602       
6603        Still get spurious SIGTRAPs.
6604
66052006-09-02 11:06  gb
6606
6607        * lisp-kernel/thread_manager.c: Define some things in terms of
6608        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6609       
6610        sem_wait_forever() does repeated timed waits, since I thought that
6611        Darwin was having trouble interrpting things that waited
6612        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6613
66142006-09-02 11:03  gb
6615
6616        * lisp-kernel/Threads.h: Define some things in terms of
6617        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6618        2006, Darwin still doesn't implement enough POSIX semaphore
6619        functionality to make it possible to avoid the use of Mach
6620        semaphores.
6621
66222006-09-02 11:01  gb
6623
6624        * lib/db-io.lisp:
6625        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6626        involved.
6627
66282006-09-02 11:01  gb
6629
6630        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6631        aren't bogus objects.
6632
66332006-09-02 11:00  gb
6634
6635        * level-1/l1-streams.lisp: Try to avoid things like
6636        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6637
66382006-09-02 10:59  gb
6639
6640        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6641        FORCE-OUTPUT.
6642
66432006-09-02 10:57  gb
6644
6645        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6646        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6647       
6648        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6649        chars.
6650       
6651        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6652
66532006-09-02 10:55  gb
6654
6655        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6656        don't assume 8-bit chars.
6657
66582006-08-28 17:35  gb
6659
6660        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6661        misc_set_single_float_vector.
6662
66632006-08-28 17:01  gb
6664
6665        * xdump/faslenv.lisp: Bump max fasl version.
6666
66672006-08-28 16:48  gb
6668
6669        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6670
66712006-08-28 16:33  gb
6672
6673        * xdump/faslenv.lisp: Bump (max) fasl version.
6674
66752006-08-28 16:30  gb
6676
6677        * xdump/xfasload.lisp: xloader was missing a few new ops.
6678
66792006-08-28 05:34  gb
6680
6681        * xdump/xfasload.lisp: New string stuff here, too.
6682
66832006-08-28 05:28  gb
6684
6685        * level-0/nfasload.lisp: New string stuff.
6686
66872006-08-28 04:57  gb
6688
6689        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6690        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6691
66922006-08-28 04:57  gb
6693
6694        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6695        STREAM-READ-CHAR, since it may be faster in some cases.
6696
66972006-08-28 04:56  gb
6698
6699        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6700        (don't assume ioblock-based stream.)
6701
67022006-08-28 04:55  gb
6703
6704        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6705
67062006-08-28 04:55  gb
6707
6708        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6709         (Maybe not even cosmetic.)
6710
67112006-08-28 04:54  gb
6712
6713        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6714        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6715
67162006-08-28 04:53  gb
6717
6718        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6719
67202006-08-28 04:52  gb
6721
6722        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6723        ?  For how long will limit be 2^8 ?
6724
67252006-08-28 04:51  gb
6726
6727        * level-0/nfasload.lisp: More fasl ops.
6728
67292006-08-28 04:51  gb
6730
6731        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6732        u8-vref stuff.
6733
67342006-08-28 04:50  gb
6735
6736        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6737        not be the best way to do this.
6738
67392006-08-26 13:58  gb
6740
6741        * release-notes.txt: Updated.
6742
67432006-08-26 13:50  gb
6744
6745        * release-notes.txt: Updated.
6746
67472006-08-26 13:50  gb
6748
6749        * darwin-x86-headers64/libc/.cvsignore: Added.
6750
67512006-08-26 03:17  gb
6752
6753        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6754
67552006-08-26 03:12  gb
6756
6757        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6758        problems as always, but avoids problems with Darwin x86-64 ld64
6759        segfaulting for unknown reasons.
6760
67612006-08-26 03:11  gb
6762
6763        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6764        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6765        that we can't just return to after switching off of the alt stack.)
6766
67672006-08-26 03:08  gb
6768
6769        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6770        deciding whether or not to signal overflow.
6771
67722006-08-26 03:08  gb
6773
6774        * level-1/x86-trap-support.lisp: Need an indirection to access
6775        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6776        mcontext64.ss.
6777
67782006-08-26 03:06  gb
6779
6780        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6781        easier to step through.
6782
67832006-08-26 03:05  gb
6784
6785        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6786        in case.
6787
67882006-08-25 20:35  gb
6789
6790        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6791        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6792        REMOVE-AUTO-FLUSH-STREAM.
6793       
6794        Export them, too.
6795
67962006-08-25 20:22  gb
6797
6798        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6799        STREAM-READ-LINE.
6800
68012006-08-25 20:22  gb
6802
6803        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6804        most once but doesn't have to be the last clause.
6805
68062006-08-25 20:21  gb
6807
6808        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6809        INPUT-STREAM.
6810       
6811        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6812
68132006-08-25 20:19  gb
6814
6815        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6816        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6817        so unlock those streams with extreme prejudice before closing them.
6818
68192006-08-25 20:18  gb
6820
6821        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6822        code that assumed that interfered with handling of relative logical
6823        pathnames.
6824
68252006-08-25 20:17  gb
6826
6827        * level-1/l1-events.lisp: Rename EVENT-POLL to
6828        AUTO-FLUSH-INTERACTIVE-STREAMS.
6829       
6830        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6831        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6832        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6833       
6834        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6835       
6836        REMOVE-AUTOFLUSH-STREAM.
6837
68382006-08-25 20:13  gb
6839
6840        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6841        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6842
68432006-08-23 22:59  gb
6844
6845        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6846        SIGFPE.
6847       
6848        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6849
68502006-08-23 22:58  gb
6851
6852        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6853        pretty casual about causing spurious exceptions, so ignore them.
6854
68552006-08-23 22:57  gb
6856
6857        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6858        version, with different signals to be ignored by gdb.
6859
68602006-08-23 22:56  gb
6861
6862        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6863        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6864        Use int $0 instead.
6865
68662006-08-23 22:55  gb
6867
6868        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6869        support; may need more work.
6870
68712006-08-22 02:08  gb
6872
6873        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6874        for printing integers), since it seems to need access to pthread
6875        data (and calling print_lisp_object() from GDB might fail if %gs is
6876        pointing at the lisp TCR.)
6877
68782006-08-22 02:06  gb
6879
6880        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6881        earlier in _SPffcall, before entering foreign context.  (Need to
6882        check PPC version(s) as well.)
6883       
6884        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6885        between foreign code and lisp.
6886
68872006-08-22 02:04  gb
6888
6889        * lisp-kernel/x86-macros.s: Fix a typo.
6890
68912006-08-22 02:04  gb
6892
6893        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6894
68952006-08-22 02:03  gb
6896
6897        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6898        exception handling code.
6899       
6900        Do the DARWIN_GS_HACK things to overload %gs.
6901
69022006-08-22 02:02  gb
6903
6904        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6905        for DarwinX8664.
6906
69072006-08-22 02:01  gb
6908
6909        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6910        should really have tested WORD_SIZE.
6911       
6912        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6913        not be necessary.)
6914       
6915        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6916
69172006-08-22 01:59  gb
6918
6919        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6920        x8664.
6921       
6922        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6923
69242006-08-22 01:58  gb
6925
6926        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6927        FreeBSDX664, DarwinX8664.
6928
69292006-08-22 01:57  gb
6930
6931        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6932        lower seg1addr.
6933       
6934        Something in the (m4-generated) symbolic info in some .s files is
6935        screwy and causes ld64 to segfault; it's currently necesssary to
6936        use "strip -S" on the assembler-generated .o files.
6937
69382006-08-22 01:55  gb
6939
6940        * scripts/openmcl64: Untested changes for Darwinx8664.
6941
69422006-08-22 01:54  gb
6943
6944        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6945        xload-backend-info (compiler target is :darwinx8664, not
6946        :linuxx8664).
6947
69482006-08-22 01:53  gb
6949
6950        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6951        cross-compiling to x86 from x86.
6952
69532006-08-22 01:52  gb
6954
6955        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6956        (not :DARWINPPC-TARGET).
6957
69582006-08-22 01:50  gb
6959
6960        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6961
69622006-08-22 01:50  gb
6963
6964        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6965
69662006-08-22 01:49  gb
6967
6968        * level-1/version.lisp: Bump.
6969
69702006-08-22 01:49  gb
6971
6972        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6973        BASIC-STREAMs.
6974
69752006-08-22 01:48  gb
6976
6977        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
6978        DARWIN-TARGET, not DARWINPPC-TARGET.
6979
69802006-08-22 01:47  gb
6981
6982        * level-0/l0-init.lisp: DarwinX8664 *features*.
6983
69842006-08-22 01:47  gb
6985
6986        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
6987        really want to be DARWIN-TARGET.
6988
69892006-08-22 01:46  gb
6990
6991        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
6992        DarwinX8664.
6993
69942006-08-22 01:45  gb
6995
6996        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
6997        compiling natively.
6998       
6999        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7000
70012006-08-22 01:44  gb
7002
7003        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7004        is defined, even on x86.  Use it if not compiling natively on x86.
7005
70062006-08-20 23:59  gb
7007
7008        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7009
70102006-08-20 23:58  gb
7011
7012        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7013
70142006-08-20 23:58  gb
7015
7016        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7017        prototypes for DARWIN_GS_HACK %gs segment switching.
7018
70192006-08-20 23:57  gb
7020
7021        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7022        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7023       
7024        This isn't so bad, but doing it around every ff-call might be.
7025
70262006-08-20 23:56  gb
7027
7028        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7029
70302006-08-20 23:53  gb
7031
7032        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7033
70342006-08-20 23:51  gb
7035
7036        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7037
70382006-08-20 23:51  gb
7039
7040        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7041        also temporary.
7042
70432006-08-20 23:50  gb
7044
7045        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7046        mcontext64 in x8664 Darwin is temporary.
7047
70482006-08-20 20:35  gb
7049
7050        * library/darwinx664-syscalls.lisp: typo
7051
70522006-08-20 20:35  gb
7053
7054        * library/darwinx8664-syscalls.lisp: spell name right
7055
70562006-08-20 17:10  gb
7057
7058        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7059
70602006-08-20 17:10  gb
7061
7062        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7063        (do other things still use read-time conditionals ?)
7064
70652006-08-20 17:09  gb
7066
7067        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7068        setup syscall mask.
7069
70702006-08-20 17:08  gb
7071
7072        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7073        well.
7074
70752006-08-20 17:06  gb
7076
7077        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7078        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7079        word-size issues.)
7080
70812006-08-20 17:03  gb
7082
7083        * library/darwinppc-syscalls.lisp: Mask for PPC.
7084
70852006-08-20 17:02  gb
7086
7087        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7088        level-1/linux-files.lisp: Syscall conditionalization.
7089
70902006-08-20 17:01  gb
7091
7092        * level-1/l1-streams.lisp: Syscall conditionalization.
7093       
7094        SELECTION-INPUT-STREAM created with :sharing :lock.
7095
70962006-08-20 17:00  gb
7097
7098        * examples/objc-runtime.lisp: Fencepost in
7099        POINTER-IN-CFSTRING-SECTION-P.
7100
71012006-08-20 16:16  gb
7102
7103        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7104
71052006-08-18 09:50  gb
7106
7107        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7108        x8664.  Should do this on PPC as well, and should probably offer
7109        some backward-compatible behavior for reader.
7110
71112006-08-18 09:47  gb
7112
7113        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7114        backend a little.
7115       
7116        Explicily define lisp-context-register slot in each backend (%gs
7117        for those imolementations that follow the standard ABI, %fs for
7118        Darwin.)
7119
71202006-08-18 09:44  gb
7121
7122        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7123        necessary.
7124
71252006-08-18 09:43  gb
7126
7127        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7128        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7129        slot.
7130
71312006-08-18 09:42  gb
7132
7133        * compiler/backend.lisp: Backend now has a lisp-context-register
7134        slot.
7135
71362006-08-18 09:42  gb
7137
7138        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7139
71402006-08-18 09:40  gb
7141
7142        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7143        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7144        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7145        and play like the other children.
7146
71472006-08-18 09:29  gb
7148
7149        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7150        code from the PPC version and tweak it a little; needs more work.
7151
71522006-08-18 09:27  gb
7153
7154        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7155        conditionalization.
7156
71572006-08-18 09:25  gb
7158
7159        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7160       
7161        Generate an equate for HAVE_TLS.
7162
71632006-08-18 09:23  gb
7164
7165        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7166
71672006-08-18 09:19  gb
7168
7169        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7170        absolute jumps, prefers slower ones.
7171       
7172        Move lock prefixes to their own lines, to satisfy you-know-who.
7173       
7174        If we don't have thread-local-storage (TLS), it's hard to avoid the
7175        get_tcr() call on each calback.
7176
71772006-08-18 09:13  gb
7178
7179        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7180        that we HAVE_TLS.
7181
71822006-08-17 10:41  phil
7183
7184        * examples/FFI/:
7185        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7186        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7187        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7188        Using-basic-calls-and-types/Readme.rtf,
7189        Using-basic-calls-and-types/typetest-compile.sh,
7190        Using-basic-calls-and-types/typetest.c,
7191        Using-basic-calls-and-types/typetest.lisp: Initial version
7192
71932006-08-17 10:40  phil
7194
7195        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7196        [no log message]
7197
71982006-08-08 13:07  gb
7199
7200        * lisp-kernel/darwinx8664/Makefile: New file.
7201
72022006-08-08 13:07  gb
7203
7204        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7205
72062006-08-08 13:06  gb
7207
7208        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7209
72102006-08-08 13:05  gb
7211
7212        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7213        instructions on the same line as the locked instruction.  (Maybe
7214        there's a better way to do this, than just pretending that lock is
7215        a standalone instruction, but that lock instruction does seem to be
7216        treated as a prefix.)
7217
72182006-08-08 13:03  gb
7219
7220        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7221        dlfcn) on Darwin.
7222
72232006-08-08 13:02  gb
7224
7225        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7226        doesn't define mcontext64, but lots of other things reference it.
7227        #define it here for now, but that'll likely break when the headers
7228        are fixed.
7229
72302006-08-08 12:58  gb
7231
7232        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7233
72342006-08-08 12:58  gb
7235
7236        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7237        x8664/Darwin.
7238
72392006-07-29 08:41  gb
7240
7241        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7242         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7243        needs READ/WRITE- SEQUENCE support.
7244
72452006-07-29 07:39  gb
7246
7247        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7248        lock.  TODO: evaluate whether resources are worthwhile;  used for
7249        string-output-stream allocation and DELETE-DUPLICATES.
7250
72512006-07-29 06:27  gb
7252
7253        * library/lispequ.lisp: Resources aren't thread-private, need
7254        locks.
7255
72562006-07-29 06:26  gb
7257
7258        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7259        BASIC-STREAMs.
7260
72612006-07-29 06:26  gb
7262
7263        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7264        default.
7265
72662006-07-29 06:25  gb
7267
7268        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7269        been used in 10 or 12 years.
7270
72712006-07-29 03:40  gb
7272
7273        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7274
72752006-07-29 03:40  gb
7276
7277        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7278        for now.
7279
72802006-07-29 03:39  gb
7281
7282        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7283        makes one more slot in BASIC-FILE-STREAM.
7284
72852006-07-28 04:17  gb
7286
7287        * level-1/version.lisp: Bump.
7288
72892006-07-28 04:15  gb
7290
7291        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7292        in IOBLOCK.
7293
72942006-07-28 01:17  gb
7295
7296        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7297
72982006-07-28 01:16  gb
7299
7300        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7301
73022006-07-28 00:58  gb
7303
7304        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7305        output.
7306       
7307        (SLIME probably faces the same issue; should probably do something
7308        in the auto-flush case.  Of course, it's hard to know just what to
7309        do in that case. or at least what to do safely in that case.)
7310
73112006-07-28 00:49  gb
7312
7313        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7314        FUNDAMENTAL-FILE-STREAM.
7315
73162006-07-28 00:49  gb
7317
7318        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7319
73202006-07-28 00:48  gb
7321
7322        * library/lispequ.lisp: Need an explicit
7323        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7324
73252006-07-28 00:47  gb
7326
7327        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7328
73292006-07-25 03:48  gb
7330
7331        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7332
73332006-07-24 04:55  gb
7334
7335        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7336        BASIC-STREAMs.
7337
73382006-07-24 04:55  gb
7339
7340        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7341        appear.
7342
73432006-07-24 04:51  gb
7344
7345        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7346
73472006-07-24 02:43  gb
7348
7349        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7350        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7351        implementation of it (and BASIC-FILE-STREAM soon will be.)
7352
73532006-07-23 03:05  gb
7354
7355        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7356
73572006-07-23 03:03  gb
7358
7359        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7360        and is inlined.
7361       
7362        Some bug fixes; STREAM class no longer has slots.
7363       
7364        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7365        variants; fix read-byte botch (should vector according to
7366        element-type.)
7367
73682006-07-23 02:54  gb
7369
7370        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7371        STREAM-IOBLOCK now takes 2 required args.
7372
73732006-07-23 02:54  gb
7374
7375        * level-1/version.lisp: Bump.
7376
73772006-07-23 02:53  gb
7378
7379        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7380        like.
7381
73822006-07-23 02:53  gb
7383
7384        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7385       
7386        Likewise WITH-EAGAIN.
7387
73882006-07-23 01:12  gb
7389
7390        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7391        l1-sockets.lisp: Fix a few botches.
7392       
7393        :private arg to stream creation primitives replaced with :sharing,
7394        which can have values:
7395       
7396         :private (the default; stream can only be accessed by the creating
7397        thread)
7398         :lock  (the old, often slow, default); most accesses to stream
7399        involve locking
7400         :nil or :external (stream code doesn't enforce exclusion).
7401
74022006-07-22 23:57  gb
7403
7404        * level-1/l1-streams.lisp: Bootstrapping stuff.
7405       
7406        Move along, nothing to see here.
7407
74082006-07-20 03:43  gb
7409
7410        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7411        l1-sysio.lisp: First (rough) cut at making streams "private"
7412        (effectively always locked by the "owning" thread) to reduce some
7413        locking overhead.  More to come, some of which will be a little
7414        tricky to bootstrap.
7415
74162006-07-20 01:09  gb
7417
7418        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7419        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7420        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7421
74222006-07-20 01:09  gb
7423
7424        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7425
74262006-07-20 01:08  gb
7427
7428        * level-1/version.lisp: Bump.
7429
74302006-07-20 01:07  gb
7431
7432        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7433         A little tricky to bootstrap.
7434
74352006-07-20 01:05  gb
7436
7437        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7438        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7439        (istruct-based) lisp-thread accessors.
7440
74412006-07-20 01:02  gb
7442
7443        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7444        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7445        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7446        BASIC-STREAM.
7447
74482006-07-15 15:02  gb
7449
7450        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7451        IMPOSSIBLE-NUMBER condition :REPORT method.
7452
74532006-07-15 15:00  gb
7454
7455        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7456        simple vector operations unless we're sure that the vector is a
7457        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7458        leaping into the simple-typed-vector case when the element-type was
7459        known but the vector wasn't known to be SIMPLE.
7460
74612006-07-14 05:57  gb
7462
7463        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7464
74652006-07-13 16:01  gb
7466
7467        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7468        know about FIXNUM arrays.
7469
74702006-07-11 14:23  gb
7471
7472        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7473        (2-address instructions) in natural logical, arithmetic operations.
7474
74752006-07-05 02:38  gb
7476
7477        * release-notes.txt: Update.
7478
74792006-07-05 02:22  gb
7480
7481        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7482        its removal needs to be better publicized.
7483
74842006-07-04 22:24  gb
7485
7486        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7487        PROGRAM arg to RUN-PROGRAM.
7488
74892006-07-04 22:23  gb
7490
7491        * level-1/version.lisp: Bump.
7492
74932006-06-29 02:11  gb
7494
7495        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7496        image-abi-version.
7497
74982006-06-28 05:24  gb
7499
7500        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7501        pointer on DarwinPPC32 (at the very least, that platform's
7502        xFindSymbol gets confused by anything but a null pointer/global
7503        lookup.)
7504
75052006-06-28 05:09  gb
7506
7507        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7508        "Alpha", which may be a bit generous (pretty regular deadlock,
7509        random thread creation errors, other bugs.)
7510
75112006-06-28 05:07  gb
7512
7513        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7514        x86-64 version.
7515
75162006-06-28 04:04  gb
7517
7518        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7519        identifying the cause of XMM FP exceptions.  Try to do that by
7520        looking at MXCSR bits.
7521
75222006-06-28 04:03  gb
7523
7524        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7525        indicate error return.
7526
75272006-06-28 04:03  gb
7528
7529        * level-1/: l1-sockets.lisp, linux-files.lisp,
7530        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7531
75322006-06-28 04:02  gb
7533
7534        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7535        breakpoint.
7536
75372006-06-27 18:08  gb
7538
7539        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7540
75412006-06-27 17:30  gb
7542
7543        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7544
75452006-06-27 17:27  gb
7546
7547        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7548        portable; possibly break it completely ...
7549
75502006-06-27 08:55  gb
7551
7552        * lisp-kernel/x86-exceptions.c: map the altstack
7553        read/write/execute.
7554
75552006-06-27 08:54  gb
7556
7557        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7558        FreeBSD.
7559
75602006-06-27 08:54  gb
7561
7562        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7563        <pthread_np.h>
7564
75652006-06-27 08:53  gb
7566
7567        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7568        :freebsdx8664.
7569
75702006-06-27 08:53  gb
7571
7572        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7573        testing.)
7574       
7575        Don't conditionalize as much code. Indices/offsets are
7576        platform-specific, but accessors defiend in terms of them needn't
7577        be.
7578
75792006-06-27 08:51  gb
7580
7581        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7582        comment.)
7583
75842006-06-27 08:50  gb
7585
7586        * level-0/l0-init.lisp: More freebsd x8664 features.
7587
75882006-06-27 08:50  gb
7589
7590        * scripts/openmcl64: Update for FreeBSD/amd64.
7591
75922006-06-27 08:47  gb
7593
7594        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7595        :freebsdx8664-target as a target-specific-feature.
7596
75972006-06-27 05:05  gb
7598
7599        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7600        freebsd8664/elf_x86_64.x: directory rename
7601
76022006-06-27 04:59  gb
7603
7604        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7605
76062006-06-27 04:47  gb
7607
7608        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7609
76102006-06-27 04:46  gb
7611
7612        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7613        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7614
76152006-06-27 04:45  gb
7616
7617        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7618       
7619        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7620
76212006-06-27 04:44  gb
7622
7623        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7624        suspend_resume_handler.
7625
76262006-06-27 04:44  gb
7627
7628        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7629        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7630
76312006-06-27 04:43  gb
7632
7633        * lisp-kernel/imports.s: Don't import metering-control; do import
7634        get_r_debug().
7635
76362006-06-27 04:42  gb
7637
7638        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7639        word-size stuff (here and in other versions.)
7640
76412006-06-27 04:42  gb
7642
7643        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7644        FreeBSD.
7645
76462006-06-27 04:39  gb
7647
7648        * lib/foreign-types.lisp: Signed char nonsense (should use target
7649        ftd, not reader macros here.)
7650
76512006-06-27 04:38  gb
7652
7653        * lib/compile-ccl.lisp: Some FreeBSD support.
7654
76552006-06-27 04:36  gb
7656
7657        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7658        Some FreeBSD changes/conditionalization. Maybe not enough.
7659
76602006-06-27 04:35  gb
7661
7662        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7663
76642006-06-27 04:34  gb
7665
7666        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7667
76682006-06-27 04:34  gb
7669
7670        * level-0/l0-io.lisp: FreeBSD syscalls.
7671
76722006-06-27 04:33  gb
7673
7674        * level-0/l0-init.lisp: Some FreeBSD features.
7675
76762006-06-27 04:33  gb
7677
7678        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7679        changes.
7680       
7681        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7682        and test.
7683       
7684        Now depends on an imported lisp-kernel function on ELF platforms
7685        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7686
76872006-06-27 04:30  gb
7688
7689        * level-0/.cvsignore: Ignore *fsl.
7690
76912006-06-27 04:29  gb
7692
7693        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7694        in freebsd backend.
7695
76962006-06-27 04:27  gb
7697
7698        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7699        metering-control; do import get-r-debug (for Elf shared libraries.)
7700       
7701        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7702
77032006-06-27 04:26  gb
7704
7705        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7706        Don't import metering-control; do import get-r-debug (for Elf
7707        shared libraries.)
7708
77092006-06-27 04:26  gb
7710
7711        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7712
77132006-06-26 16:38  gb
7714
7715        * compiler/X86/X8664/x8664-vinsns.lisp:
7716        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7717        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7718        constant #xffff000000000000 come from ?
7719
77202006-06-26 16:35  gb
7721
7722        * compiler/X86/x862.lisp: Fix some indentation.
7723
77242006-06-25 20:32  gb
7725
7726        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7727        change initialiation of x8664 foreign-type stuff.
7728
77292006-06-25 20:31  gb
7730
7731        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7732
77332006-06-23 19:52  gb
7734
7735        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7736        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7737
77382006-06-23 19:28  gb
7739
7740        * release-notes.txt: Update some.
7741
77422006-06-23 19:11  gb
7743
7744        * examples/gtk2-clock.lisp: New file.
7745
77462006-06-23 18:56  gb
7747
7748        * level-1/version.lisp: Bump.
7749
77502006-06-23 18:52  gb
7751
7752        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7753
77542006-06-22 13:39  gb
7755
7756        * x86-headers64/gnome2/C/.cvsignore: new
7757
77582006-06-22 13:36  gb
7759
7760        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7761
77622006-06-22 13:33  gb
7763
7764        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7765        gnome2/.cvsignore: new
7766
77672006-06-22 13:30  gb
7768
7769        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7770
77712006-06-22 13:28  gb
7772
7773        * level-1/version.lisp: Bump.
7774
77752006-06-21 15:15  gb
7776
7777        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7778        ppc-spentry.s: Define new string subtags; handle them in ppc64
7779        misc_ref/misc_set.
7780
77812006-06-21 15:14  gb
7782
7783        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7784        versions) to handle FIXNUM vectors, new UCS4 strings.
7785
77862006-06-21 15:14  gb
7787
7788        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7789        versions) to handle FIXNUM vectors, new UCS4 strings.
7790
77912006-06-21 15:12  gb
7792
7793        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7794        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7795        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7796
77972006-06-21 15:11  gb
7798
7799        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7800
78012006-06-21 15:11  gb
7802
7803        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7804        wasn't updated with the introduction of fixnum vectors, (unused)
7805        UCS4 "new"strings.
7806
78072006-06-16 03:50  gb
7808
7809        * examples/objc-support.lisp: Re-compute static NSString info after
7810        opening an extension framework.
7811
78122006-06-16 03:45  gb
7813
7814        * examples/webkit.lisp: Use new functions for augmenting
7815        interfaces, loading framework.
7816
78172006-06-16 03:43  gb
7818
7819        * examples/objc-runtime.lisp: Juggle things around so that add-on
7820        framework bundles get loaded on appication re-launch.
7821       
7822        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7823        since (a) it may not be there, or may not be where we can find it
7824        yet and (b) it's probably more reasonable to do that than it would
7825        be to teach CLOS about classes that're "discovered" when the
7826        appication's launched on a newer OS release than it was saved on.
7827
78282006-06-16 03:39  gb
7829
7830        * examples/cocoa-application.lisp: Touch tha application bundle
7831        before saving an image into it.  That -may- convincve
7832        LaunchServices to do the right thing.
7833
78342006-06-16 03:38  gb
7835
7836        * examples/objc-support.lisp: Reload any addon/framework bundles
7837        that had been loaded before the image was saved when starting a
7838        bundled application.
7839       
7840        Juggle things around, so that that works (need to be able to use
7841        low-level bridge features early.)
7842
78432006-06-16 03:36  gb
7844
7845        * lib/db-io.lisp: Disable the #? reader macro.
7846
78472006-06-14 15:42  gb
7848
7849        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7850        lfun-bits.
7851
78522006-06-12 20:24  gb
7853
7854        * lib/ppc-backtrace.lisp: PPC version of
7855        %find-register-argument-value had the same sort of fencepost as the
7856        x86-64 version had a few days ago.
7857
78582006-06-10 23:52  gb
7859
7860        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7861        its GENERIC-FUNCTION-LAMBDA-LIST.
7862
78632006-06-10 23:51  gb
7864
7865        * level-1/l1-clos.lisp: Give reader/writer method args more
7866        descriptive names. (Barely more descriptive ...)
7867
78682006-06-10 19:25  gb
7869
7870        * level-1/l1-clos-boot.lisp: Arrgh.  In
7871        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7872        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7873        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7874       
7875        This was keeping non-standard instances - like ObjC classes and
7876        metaclasses - from having some of their slots initialized
7877        correctly.
7878
78792006-06-10 19:22  gb
7880
7881        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7882        objc-metaclass: don't die if the class is unnamed (makes it easier
7883        to print classes for debugging during initialization.)
7884
78852006-06-10 13:05  gb
7886
7887        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7888        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7889
78902006-06-08 05:01  gb
7891
7892        * release-notes.txt: Update a bit.
7893
78942006-06-08 03:56  gb
7895
7896        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7897        image-abi-version.
7898
78992006-06-08 03:46  gb
7900
7901        * xdump/faslenv.lisp: Bump (min) fasl version.
7902
79032006-06-08 03:35  gb
7904
7905        * lib/nfcomp.lisp: Bump (current) fasl-version.
7906
79072006-06-08 03:28  gb
7908
7909        * lisp-kernel/linuxx8664/Makefile: -O2.
7910
79112006-06-08 03:26  gb
7912
7913        * xdump/faslenv.lisp: Bump (max) fasl version.
7914
79152006-06-08 03:18  gb
7916
7917        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7918        doubt and claim that it's a beta.
7919
79202006-06-08 03:18  gb
7921
7922        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7923
79242006-06-08 03:17  gb
7925
7926        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7927        options; enable -O2.
7928
79292006-06-08 02:55  gb
7930
7931        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7932        Handle suspend (and maybe someday resume, again) signals on the
7933        altstack, since we don't really want a signal context in the middle
7934        of the tagged lisp stack ...
7935
79362006-06-08 02:52  gb
7937
7938        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7939        PLATFORM-exceptions.c; some constants/prototypes moved to
7940        Threads.h.
7941
79422006-06-08 02:51  gb
7943
7944        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7945        via install_signal_handler(); thread_signal_setup() moved here, to
7946        do that installation.
7947
79482006-06-08 02:50  gb
7949
7950        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7951       
7952        Don't call (or define) prepare_for_the_worst(), which is kind of
7953        too bad ...
7954
79552006-06-08 02:49  gb
7956
7957        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7958
79592006-06-08 01:11  gb
7960
7961        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7962        let OPTIMIZE proclamations persist beyond the LOAD.
7963
79642006-06-07 21:45  gb
7965
7966        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7967
79682006-06-07 21:38  gb
7969
7970        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7971        MMX regs.  Do maintain them in TCR.
7972
79732006-06-07 21:37  gb
7974
7975        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
7976        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
7977        temporary (old tsp), finish frame by storing into tcr.save_tsp.
7978
79792006-06-07 21:34  gb
7980
7981        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
7982
79832006-06-07 21:33  gb
7984
7985        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
7986        %stack_temp.
7987
79882006-06-07 21:32  gb
7989
7990        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
7991
79922006-06-07 21:30  gb
7993
7994        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
7995        now.
7996
79972006-06-07 21:30  gb
7998
7999        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8000        (since it no longer exists ...).  Use %stack-temp in some cases.
8001
80022006-06-07 21:29  gb
8003
8004        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8005        %stack-temp is a symbolic name for an MMX register that can be used
8006        for (e.g.) linking frames on the temp/foreign stacks (or for any
8007        other purpose ...)
8008
80092006-06-07 15:29  gb
8010
8011        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8012        tcr.next_tsp in sync with %next_tsp Check to ensure that
8013        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8014        allocating on the temp stack.  (This will soon change, so that %tsp
8015        and %next_tsp will not be canonical and the tcr fields are, then
8016        will change so that %tsp and %next_tsp will cease to exist.)
8017
80182006-06-07 15:25  gb
8019
8020        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8021
80222006-06-07 15:25  gb
8023
8024        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8025        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8026        a temporary.
8027
80282006-06-07 15:23  gb
8029
8030        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8031        don't need FP regs for this.  (They're sometimes invalid and
8032        sometimes missing, which is the point of recent changes.)
8033
80342006-06-07 15:21  gb
8035
8036        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8037        to %Rnext_tsp to avoid potential m4 lossage.
8038
80392006-06-07 15:20  gb
8040
8041        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8042
80432006-06-07 15:20  gb
8044
8045        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8046
80472006-06-07 15:19  gb
8048
8049        * level-1/version.lisp: Bump.
8050
80512006-06-07 15:19  gb
8052
8053        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8054
80552006-06-07 15:18  gb
8056
8057        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8058        foreign-sp register (though some code still uses %mm5 as a
8059        temporary, the "canonical" foreign SP is maintained in the TCR.)
8060
80612006-06-07 04:52  gb
8062
8063        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8064        frame, get the foreign SP out of the TCR.
8065
80662006-06-07 04:52  gb
8067
8068        * compiler/X86/X8664/x8664-vinsns.lisp,
8069        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8070        maintain the foreign sp in both the TCR and the MMX register, but
8071        consider the TCR version to be canonical.
8072
80732006-06-07 02:46  gb
8074
8075        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8076        %tsp MMX register doesn't match the value in the tcr, trap.
8077        Likewise for %foreign-sp.
8078
80792006-06-07 01:29  gb
8080
8081        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8082        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8083        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8084       
8085        (The idea is to keep the temp/foreign stack pointers in the tcr and
8086        only use the MMX registers as temporaries, since it seems that
8087        handlers for asynchronous signals can't count on the MMX register
8088        values in the signal context being correct.  This seems to either
8089        be a Linux kernel bug or ill-considered if it's intentional
8090        behavior, but it seems better to work around it this way.)
8091       
8092        This is just an early step in bootstrapping that change; it's being
8093        checked into CVS so that it doesn't get lost (and so that I can
8094        recover to this point if/when I hose things on a later step.)
8095
80962006-06-07 01:24  gb
8097
8098        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8099        tcr.
8100
81012006-06-07 01:22  gb
8102
8103        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8104        next_tsp slot to the tcr.
8105
81062006-06-06 04:25  gb
8107
8108        * lib/ppc-metering.lisp: no hope
8109
81102006-06-06 04:22  gb
8111
8112        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8113        frame (cfp argument) could be an exception callback frame (xcf-p
8114        may be true of it), in which case the saved register value is in
8115        the xcf.xp context.  (Basically, this means look at the first frame
8116        if it's an xcf, otherwise skip it and start with the child.)
8117
81182006-06-06 01:48  gb
8119
8120        * compiler/X86/x86-lapmacros.lisp,
8121        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8122        Using imul to box fixnums is smaller and seems to be faster than
8123        using lea with a scale factor.
8124
81252006-06-05 23:56  gb
8126
8127        * lisp-kernel/thread_manager.c: I don't think that
8128        suspend_resume_handler wants to have suspend signals unmasked, does
8129        it ?
8130
81312006-06-05 12:43  gb
8132
8133        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8134
81352006-06-03 03:11  gb
8136
8137        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8138        last catch frame, do skip others (test was backwards.  As it
8139        probably had been in the single-value case at one point.)
8140
81412006-06-02 03:48  gb
8142
8143        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8144        *terminal-io*; do print it to *trace-output*.
8145
81462006-06-01 20:20  gb
8147
8148        * level-0/l0-array.lisp: There's a T in subtag.
8149
81502006-06-01 20:17  gb
8151
8152        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8153       
8154        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8155       
8156        correctly.
8157
81582006-06-01 20:16  gb
8159
8160        * compiler/nx0.lisp: Defvars for global optimization quantities
8161        moved to level-0.
8162
81632006-06-01 20:15  gb
8164
8165        * level-1/l1-files.lisp: Bind the variables which hold global
8166        compiler optimization quantities, since people persist in doing
8167        things like:
8168       
8169        (declaim (optimize
8170        <something-that-they-probably-think-has-local-effects>))
8171       
8172        without bothering to use EVAL-WHEN or otherwise thinking very
8173        clearly.
8174       
8175        Note that this means that anyone who wanted such a declamation to
8176        have persistent global effects is now SOL.  Blame whoever wrote
8177        (for instance) clx/glx.lisp.
8178
81792006-06-01 20:11  gb
8180
8181        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8182        be referenced early in the cold load.
8183
81842006-06-01 13:13  gb
8185
8186        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8187        pointer to ENCODED-GPR-LISP if we have to get the register value
8188        from an exception frame.
8189
81902006-05-30 19:27  gwking
8191
8192        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8193        1.98)
8194
81952006-05-30 17:12  gb
8196
8197        * level-1/version.lisp: bump again.
8198
81992006-05-30 16:31  gb
8200
8201        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8202        ensure that tcr.xframe is updated from the catch frame (a) in all
8203        execution paths and (b) before RSP is updated.
8204
82052006-05-30 16:30  gb
8206
8207        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8208        vectors.
8209
82102006-05-30 16:29  gb
8211
8212        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8213
82142006-05-30 16:29  gb
8215
8216        * release-notes.txt: Update some more ...
8217
82182006-05-30 16:23  gb
8219
8220        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8221        Apparently.
8222
82232006-05-30 16:15  gb
8224
8225        * release-notes.txt: updated
8226
82272006-05-30 01:58  gb
8228
8229        * level-1/version.lisp: Bump.
8230
82312006-05-30 01:48  gb
8232
8233        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8234        made copies of the signal context and siginfo on the foreign stack,
8235        don't pass the originals to interrupt_handler().
8236       
8237        (altstack_interrupt_handler() looks suspiciously like
8238        altstack_signal_handler(), which probably had the same bug a few
8239        months ago ...)
8240       
8241        Since the alternate signal stack (as we use it) isn't reentrant,
8242        the next signal (perhaps a suspend signal) overwrote the context.
8243        Which is one reason to have made a copy in the first place ...
8244
82452006-05-30 01:43  gb
8246
8247        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8248        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8249        timeout is a good idea here, make sure that the timeout isn't
8250        fooled by #$EINTR.
8251
82522006-05-30 01:39  gb
8253
8254        * level-1/linux-files.lisp: Rename the old
8255        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8256        since it basically waits indefinitely.
8257       
8258        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8259        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8260        a "timed wait" that handles interruptions, etc. when the caller
8261        just has a "raw" (native) semaphore.
8262       
8263        Change callers, endure warnings.  New binaries soon.
8264
82652006-05-30 01:36  gb
8266
8267        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8268        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8269
82702006-05-29 22:34  gb
8271
8272        * lisp-kernel/x86-exceptions.c: The
8273        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8274        too small ...
8275
82762006-05-29 14:03  gb
8277
8278        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8279        syscall-based getcwd (it doesn't work as it once did/is documented
8280        to on linuxx8664); use the library function on all platforms.
8281
82822006-05-29 14:02  gb
8283
8284        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8285        processing interrupt.
8286
82872006-05-28 17:01  gb
8288
8289        * lisp-kernel/ppc-exceptions.c: If we handle a
8290        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8291       
8292        Back out of the hack that tried to work around a Darwin bug (FP
8293        exception flags were cleared in the MSR after a thread had been
8294        interrupted via pthread_kill()), since the fix seems not to be
8295        GC-safe.
8296       
8297        Add some debugging code to print when the exception lock is
8298        acquired/released.
8299
83002006-05-28 01:10  gb
8301
8302        * level-1/solaris-files.lisp: long gone
8303
83042006-05-23 20:25  gb
8305
8306        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8307
83082006-05-22 22:59  gb
8309
8310        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8311        C/.cvsignore: New file.
8312
83132006-05-22 22:57  gb
8314
8315        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8316        thread to suspend itself.
8317
83182006-05-22 22:57  gb
8319
8320        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8321        SINGLE-FLOAT constants.
8322       
8323        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8324        64-bit arg word, regardless of whether they're also passed in
8325        f1-f13 as well.
8326
83272006-05-22 22:55  gb
8328
8329        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8330        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8331        64-bit word.
8332
83332006-05-22 22:54  gb
8334
8335        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8336        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8337
83382006-05-22 22:53  gb
8339
8340        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8341        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8342        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8343        access them.
8344
83452006-05-22 03:53  gb
8346
8347        * level-1/version.lisp: Bump.
8348
83492006-05-22 03:32  gb
8350
8351        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8352
83532006-05-22 03:31  gb
8354
8355        * compiler/X86/x862.lisp: Numeric contagion on binops,
8356        fixnum->float.
8357
83582006-05-22 03:29  gb
8359
8360        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8361        well.
8362
83632006-05-22 03:28  gb
8364
8365        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8366        earlier when creating a stack frame inline.  Doesn't seem to affect
8367        latency much.
8368
83692006-05-22 03:27  gb
8370
8371        * compiler/X86/x862.lisp: Comment formatting on the first line of
8372        the file.
8373
83742006-05-22 03:26  gb
8375
8376        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8377        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8378
83792006-05-21 07:34  gb
8380
8381        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8382
83832006-05-21 07:32  gb
8384
8385        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8386        numeric-contagion stuff for arithmetic ops.
8387
83882006-05-21 07:31  gb
8389
8390        * compiler/nx1.lisp: Use div2 for /-2.
8391
83922006-05-21 07:31  gb
8393
8394        * compiler/nx0.lisp: Binop numeric contagion.
8395
83962006-05-21 06:49  gb
8397
8398        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8399
84002006-05-21 06:49  gb
8401
8402        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8403        weird, just wrong.
8404
84052006-05-21 06:17  gb
8406
8407        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8408        SIMPLE-FIXNUM-VECTORs.
8409
84102006-05-21 06:16  gb
8411
8412        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8413        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8414
84152006-05-21 06:16  gb
8416
8417        * compiler/PPC/PPC32/ppc32-arch.lisp,
8418        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8419        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8420        vector stuff.
8421
84222006-05-21 06:15  gb
8423
8424        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8425       
8426        Fixnum vector vref/vset.
8427
84282006-05-21 06:15  gb
8429
8430        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8431        %fixnum-to-double.
8432
84332006-05-21 06:14  gb
8434
8435        * compiler/nx0.lisp: More operator result types.
8436
84372006-05-21 04:35  gb
8438
8439        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8440        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8441        specialized FIXNUM array-element-type into type system, CLOS.
8442        (Knock wood.)
8443
84442006-05-21 04:34  gb
8445
8446        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8447        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8448
84492006-05-21 04:33  gb
8450
8451        * compiler/X86/X8664/x8664-arch.lisp,
8452        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8453        subtag for :fixnum-vector.
8454
84552006-05-21 04:32  gb
8456
8457        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8458        indices correctly.
8459       
8460        64-bit vset, vref: handle :FIXNUM-VECTOR.
8461
84622006-05-21 00:22  gb
8463
8464        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8465
84662006-05-20 18:13  gb
8467
8468        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8469        stack args) without restoring/re-saving NVRs.
8470
84712006-05-19 15:07  gb
8472
8473        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8474        completion semaphore (when :WAIT is true) happens inside an
8475        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8476        interrupts.
8477
84782006-05-19 15:06  gb
8479
8480        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8481        for SEMAPHORE.
8482
84832006-05-19 12:23  gwking
8484
8485        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8486        Also changed it so that it displays all items before trying to get
8487        an answer.
8488
84892006-05-19 12:00  gwking
8490
8491        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8492
84932006-05-19 11:57  gwking
8494
8495        * .cvsignore: The *fsl wasn't cutting it for me...
8496
84972006-05-19 11:50  gb
8498
8499        * level-1/version.lisp: Bump.
8500
85012006-05-19 11:49  gb
8502
8503        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8504        syscall definitions so that it can be moused on.
8505
85062006-05-19 11:48  gb
8507
8508        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8509        .SPeabi-syscall -> .SPsyscall.
8510
85112006-05-19 11:45  gb
8512
8513        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8514        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8515        does indeed burn cache lines, but going out of line isn't cheap
8516        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8517        are in fact fixnums and no overflow is involved - seems to be about
8518        2X faster when inlined this way.  Not sure if that'll be the case
8519        on PPC.)
8520
85212006-05-19 11:40  gb
8522
8523        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8524        stuff.
8525
85262006-05-18 14:47  gb
8527
8528        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8529        in all places that do so ...), update tcr.xframe from
8530        catch_frame.xframe on all execution paths (in particular, do so
8531        before SP is restored from the catch_frame, since a tcr.xframe
8532        "beyond" SP is clearly bogus.)
8533
85342006-05-18 02:34  gb
8535
8536        * level-1/version.lisp: Bump.
8537
85382006-05-17 23:12  gb
8539
8540        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8541        for PPC, too.
8542
85432006-05-17 22:53  gb
8544
8545        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8546        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8547        if any unmasked exceptions were raised before even calling this ...
8548
85492006-05-17 22:51  gb
8550
8551        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8552        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8553
85542006-05-17 22:50  gb
8555
8556        * compiler/X86/x862.lisp: Work harder to find acode types in some
8557        cases.
8558
85592006-05-17 22:50  gb
8560
8561        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8562        registers in OP-REG.
8563       
8564        Don't want to use RET very often if at all, but disassembler should
8565        treat as as a :JUMP.
8566
85672006-05-17 22:48  gb
8568
8569        * compiler/nxenv.lisp: MUL2, DIV2.
8570
85712006-05-17 22:48  gb
8572
8573        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8574        type-inferencing (or, more accurately, paying a little more
8575        attention here and there.)
8576
85772006-05-12 20:40  gwking
8578
8579        * examples/addressbook.lisp: added examples/addressbook.lisp
8580
85812006-05-11 18:42  gb
8582
8583        * level-1/l1-application.lisp: Stop processing command-line
8584        arguments when "--" is encountered; anything after that "--" is
8585        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8586
85872006-05-11 18:42  gb
8588
8589        * lib/ccl-export-syms.lisp: Export command-line stuff
8590
85912006-05-11 18:40  gb
8592
8593        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8594        method for LOCKs.
8595
85962006-05-11 18:39  gb
8597
8598        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8599        are base-strings (and always have been in OpenMCL.)
8600
86012006-05-11 18:37  gb
8602
8603        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8604
86052006-05-11 08:11  gwking
8606
8607        * lib/db-io.lisp: Added a check that the directory exists to
8608        fid-open-output in order to make it clearer what is wrong when one
8609        is unable to rebuild interface files because they are trying to do
8610        so in a place without FFI files to read!
8611
86122006-05-11 05:14  gb
8613
8614        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8615        Bump lisp-implementation-version, image-abi-version.
8616
86172006-05-11 05:04  gb
8618
8619        * xdump/faslenv.lisp: Bump (min) fasl version.
8620
86212006-05-11 04:52  gb
8622
8623        * lib/nfcomp.lisp: Bump (current) FASL version.
8624
86252006-05-11 04:52  gb
8626
8627        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8628        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8629
86302006-05-11 04:35  gb
8631
8632        * xdump/faslenv.lisp: Bump (max) fasl version.
8633
86342006-05-11 04:32  gb
8635
8636        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8637        target-specific feature.
8638
86392006-05-11 03:35  gb
8640
8641        * compiler/PPC/PPC32/ppc32-arch.lisp,
8642        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8643        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8644        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8645        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8646        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8647        typecodes around: get rid of the (unused) old 16-bit string; add an
8648        (as yet unused) UCS-4 string type.
8649       
8650        These changes generally involve cross-compilation (or some very
8651        tricky bootstrapping that I didn't attempt)  FASL versions and
8652        kernel ABI versions will need to change, and new binaries will be
8653        made available soon.
8654
86552006-05-10 20:20  gb
8656
8657        * compiler/PPC/ppc-lapmacros.lisp,
8658        compiler/PPC/PPC32/ppc32-arch.lisp,
8659        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8660        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8661        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8662        8-bit) character code is stored in the #x0000xx00 byte of a
8663        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8664        bootstrap natively (which is why I was trying to make ppc64->ppc32
8665        cross-compilation work.)
8666       
8667        Change related macros/visnsns as well.
8668
86692006-05-10 19:00  gb
8670
8671        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8672        think that this is just hard to do right the way that it's being
8673        done.
8674
86752006-05-10 18:59  gb
8676
8677        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8678        when cross-compiling (because word-size differences aren't handled
8679        correctly by macros.)  Until the macros are fixed, don't even try
8680        ...
8681
86822006-05-10 18:58  gb
8683
8684        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8685        target::target-most-positive-fixnum (not the host's
8686        MOST-POSITIVE-FIXNUM).
8687
86882006-05-10 18:57  gb
8689
8690        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8691        few places.
8692
86932006-05-10 18:56  gb
8694
8695        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8696
86972006-05-10 18:55  gb
8698
8699        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8700        differences between host and target types, but try to turn
8701        references to FIXNUM to the appropriate target-specific type.
8702
87032006-05-09 21:01  gb
8704
8705        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8706        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8707        around to check the high bits of the char code, but all chars have
8708        been base-chars for several years now ...
8709       
8710        UNBOX-CHARACTER was unused.
8711       
8712        (This is the first step of what may be several bootstrapping steps
8713        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8714        easily-accessed char-code bits on PPC32.)
8715
87162006-05-09 11:48  gb
8717
8718        * lisp-kernel/xlbt.c: No psn in cs_area.
8719
87202006-05-09 02:42  gb
8721
8722        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8723        to mark_simple_area_range().
8724
87252006-05-09 02:33  gb
8726
8727        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8728        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8729
87302006-05-09 02:25  gb
8731
8732        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8733        the containing TCR, to make low-level debugging a bit easier.
8734
87352006-05-09 02:25  gb
8736
8737        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8738        and debugging printfs.
8739
87402006-05-09 02:24  gb
8741
8742        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8743        extra (signed_natural *) arg, for allocptr displacement.
8744
87452006-05-09 02:23  gb
8746
8747        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8748       
8749        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8750        regs/ saved TCR fields.  The general idea is that the after they
8751        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8752        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8753        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8754        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8755       
8756        On an interrupt, the caller needs to pass in a signed_natural * to
8757        pick up the allocptr displacement (if consing was interrupted at
8758        the alloc trap); the interrupt handler uses this value to fix up
8759        alloptr when it returns if consing was interrupted.
8760       
8761        This is all pretty clearly right, but something still goes wrong
8762        under some combination of high thread stress, frequent allocation,
8763        and blocking ff-calls.
8764
87652006-05-09 02:17  gb
8766
8767        * lisp-kernel/plbt.c: No psn currently available.
8768
87692006-05-09 02:16  gb
8770
8771        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8772        where it may come in handy ...
8773
87742006-05-09 02:16  gb
8775
8776        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8777        arg.
8778
87792006-05-09 02:13  gb
8780
8781        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8782
87832006-05-09 02:12  gb
8784
8785        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8786        Restore it.
8787
87882006-05-09 02:12  gb
8789
8790        * level-0/l0-error.lisp, library/lispequ.lisp,
8791        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8792        recycle $XNOCDR.
8793
87942006-05-09 02:11  gb
8795
8796        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8797        target-specific.
8798
87992006-05-09 02:11  gb
8800
8801        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8802        target-specific.
8803
88042006-05-09 00:40  gb
8805
8806        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8807        here.
8808
88092006-05-09 00:39  gb
8810
8811        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8812        x8664.
8813
88142006-05-09 00:39  gb
8815
8816        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8817        stuff up to l1-lisp-threads.lisp.
8818
88192006-05-08 22:58  gb
8820
8821        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8822        handle array and vector headers.
8823
88242006-05-08 22:57  gb
8825
8826        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8827        of which should ever happen) with the kernel.
8828
88292006-05-08 22:56  gb
8830
8831        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8832        the TCR either.
8833
88342006-05-08 22:55  gb
8835
8836        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8837
88382006-05-08 22:55  gb
8839
8840        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8841        $xsetbadvec.
8842
88432006-05-08 03:26  gb
8844
8845        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8846        flags are set to the result of decrementing %nargs at the end of
8847        the loop.
8848
88492006-05-08 03:25  gb
8850
8851        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8852        wants a list of condition args, not a single arg.
8853
88542006-05-08 03:24  gb
8855
8856        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8857        CS-AREA.
8858
88592006-05-08 03:23  gb
8860
8861        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8862        uuo_error_udf, not as a type error.
8863
88642006-05-07 16:50  gb
8865
8866        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8867        slots in a long time (they probably haven't -needed- them in even
8868        longer; I think that this had to do with the old partial MOP.)
8869        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8870        accessor in STANDARD-OBJECT-SETF-LINE-N.
8871
88722006-05-07 04:39  gb
8873
8874        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8875        file.
8876
88772006-05-07 04:34  gb
8878
8879        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8880        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8881        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8882        if code that wants both locks isn't careful to try to obtain them
8883        in some canonical order.)
8884
88852006-05-07 04:29  gb
8886
8887        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8888
88892006-05-07 04:29  gb
8890
8891        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8892
88932006-05-07 04:28  gb
8894
8895        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8896        xFindSymbol/dlsym returns 0 on x8664.
8897
88982006-05-07 04:27  gb
8899
8900        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8901        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8902        I'd mistakenly decided that it was faster to go through memory than
8903        to use these instructions.  It seems to actually be substantially
8904        slower, as one would expect.)
8905
89062006-05-07 04:25  gb
8907
8908        * compiler/X86/x86-asm.lisp: Add support for
8909        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8910
89112006-05-07 04:21  gb
8912
8913        * library/hash-cons.lisp: Fix doc in comments.
8914
89152006-05-07 04:21  gb
8916
8917        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8918
89192006-05-07 04:20  gb
8920
8921        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8922
89232006-05-07 04:19  gb
8924
8925        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8926        TARGET-backtrace.lisp.
8927
89282006-05-07 04:18  gb
8929
8930        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8931        BOGUS-THING-P to TARGET-thread-utils.lisp.
8932
89332006-05-07 04:17  gb
8934
8935        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8936        BOGUS-THING-P support here.
8937
89382006-05-07 04:16  gb
8939
8940        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8941        to psn.
8942
89432006-05-06 15:27  gb
8944
8945        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8946        to the "natural" case.
8947
89482006-05-06 15:26  gb
8949
8950        * compiler/X86/x862.lisp: Pass the right number of args to
8951        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8952
89532006-05-06 15:26  gb
8954
8955        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8956
89572006-05-06 02:09  gb
8958
8959        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8960        A and tries to obtain lock B, and thread Y holds lock B and tries
8961        to obtain lock A, what is that a classic case of ?
8962       
8963        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8964        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8965        two locks at the same time, and that's always a bit dangerous; it
8966        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8967        that must be owned in order to manipulate either the tcr or area
8968        queues.
8969
89702006-05-06 02:04  gb
8971
8972        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8973        %REALPATH of the current directory namestring, as it does by
8974        default on some platforms (but not Linux.)
8975
89762006-05-05 20:08  gb
8977
8978        * compiler/X86/x862.lisp: x862-ff-call: really implement the
8979        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
8980        the el-bizarro <- with a (temp) node target.
8981
89822006-05-05 20:06  gb
8983
8984        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
8985        relative to the tagged entrypoint, not to the start of the
8986        underlying function-vector.)
8987
89882006-05-05 13:24  gb
8989
8990        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
8991        heap-consing an &REST arg.  (%allocptr and %next-method-context are
8992        the same register, so &rest clobbbers %next-method-context.)
8993       
8994        Could make separate entry points, so that this is only done when
8995        %next-method-context needs to be preserved ...
8996
89972006-05-05 13:21  gb
8998
8999        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9000
90012006-05-05 02:23  gb
9002
9003        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9004
90052006-05-05 02:23  gb
9006
9007        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9008
90092006-05-05 01:37  gb
9010
9011        * level-1/version.lisp: Bump du jour.
9012
90132006-05-05 01:36  gb
9014
9015        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9016        between the first 6 words of the outgoing frame (from which GPRs
9017        will be loaded) and other words (which stay on the stack); after
9018        the first 8 FP args, floats have to be passed on the stack, even if
9019        there's still room in the first 6 words of the outgoing frame.
9020       
9021        Need to understand the struct-by-value rules better: can a struct
9022        be passed partly in registers and partly on the stack ? RTFM (or,
9023        in this case, TF ABI spec.)
9024
90252006-05-05 01:31  gb
9026
9027        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9028        case should store relative to "other-offset" (rather than   
9029        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9030        - both the single and double-float cases were incrementing
9031        "other-offset"     twice when more than 8 FP args were involved.
9032        This had the effect of     storing floats into every other word and
9033        writing beyond the bounds of     the outgoing stack frame, possibly
9034        overwriting return addresses on the     foreign stack.
9035
90362006-05-04 23:12  gb
9037
9038        * level-1/l1-streams.lisp: James Bielman's fix to
9039        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9040
90412006-05-04 18:30  gb
9042
9043        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9044        decrement FPR-ARG-OFFSET by 8, not -8.
9045       
9046        (This could cause values outside of the stack frame to be read, but
9047        I still haven't found what's writing beyond the frame bounds.)
9048
90492006-05-04 18:27  gb
9050
9051        * lib/x86-backtrace.lisp: If its argument is an exception callback
9052        frame, %CFP-LFUN tries to determine the relative PC associated with
9053        the frame's nominal function and return that as a second value
9054        (just as it does for a real frame.)
9055       
9056        I think that this should work a high percentage of the time, but
9057        callers should generally be prepared to deal with a NULL second
9058        return value from %CFP-LFUN.
9059
90602006-05-04 11:12  gb
9061
9062        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9063        since we're using the same stack pointer to return values as we are
9064        to find arguments, don't try to "optimize" its initialization.
9065
90662006-05-03 18:52  gb
9067
9068        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9069        a little.  Don't coerce single float results to double; bind
9070        stack-ptr variable even if no args (might be a return value form
9071        that references it.) Failure to do the latter was creating a weird
9072        free variable reference that wasn't handled by the fasloader.
9073
90742006-05-03 18:50  gb
9075
9076        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9077
90782006-05-03 18:49  gb
9079
9080        * lib/nfcomp.lisp: Indent a comment.
9081
90822006-05-03 18:16  gb
9083
9084        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9085        that might involve a variable-length arglist (at this level,
9086        always), set %rax to the number (0-8) of FP arguments passed in xmm
9087        registers.
9088
90892006-05-03 13:26  gb
9090
9091        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9092        ~15, not ~!5.  (This was causing segfaults on return from
9093        interrupts sometimes.)
9094
90952006-05-03 13:24  gb
9096
9097        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9098        by SWANK/SLIME.
9099
91002006-05-03 13:23  gb
9101
9102        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9103        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9104        seems to get many things wrong.)
9105
91062006-05-03 11:37  gb
9107
9108        * level-1/version.lisp: You mist have yesterday's version.
9109
91102006-05-03 11:37  gb
9111
9112        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9113        LAP.
9114
91152006-05-03 11:36  gb
9116
9117        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9118        #+x8664-target.
9119
91202006-05-03 11:36  gb
9121
9122        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9123        it can just check for a 2-digit bignum header if it has something
9124        of tag TAG-MISC.
9125
91262006-05-03 11:34  gb
9127
9128        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9129        destinations.
9130
91312006-05-03 11:33  gb
9132
9133        * compiler/X86/x86-disassemble.lisp: Recognize
9134        uuo-error-eep-unresolved.
9135
91362006-05-02 18:07  gb
9137
9138        * level-1/version.lisp: Bump.
9139
91402006-05-02 18:07  gb
9141
9142        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9143        (mostly ?) unused and currently PPC-specific, if it works at all
9144        ...
9145
91462006-05-02 10:27  gb
9147
9148        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9149        for STRING-INPUT-STREAMs; it's not clear what such a method should
9150        do (and fairly clear that it shouldn't do what the previous
9151        definition was doing.)
9152
91532006-05-02 10:26  gb
9154
9155        * lib/format.lisp: clear input from *query-io*, not from
9156        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9157
91582006-05-02 10:26  gb
9159
9160        * library/hash-cons.lisp: x8664 lap
9161
91622006-05-02 10:26  gb
9163
9164        * lisp-kernel/x86-gc.c: hons area stuff
9165
91662006-04-29 09:14  gb
9167
9168        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9169        overflow (on value/temp stacks).
9170
91712006-04-29 09:13  gb
9172
9173        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9174        callback.
9175
91762006-04-29 09:10  gb
9177
9178        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9179       
9180        No linker script.
9181       
9182        Use -lthr, which offers 1:1 threads.
9183
91842006-04-29 09:09  gb
9185
9186        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9187
91882006-04-29 09:01  gb
9189
9190        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9191
91922006-04-29 09:00  gb
9193
9194        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9195        anything cares ...)
9196
91972006-04-29 08:59  gb
9198
9199        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9200
92012006-04-29 08:58  gb
9202
9203        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9204
92052006-04-29 08:58  gb
9206
9207        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9208
92092006-04-28 21:28  gb
9210
9211        * level-1/version.lisp: bump.
9212
92132006-04-28 21:27  gb
9214
9215        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9216        version).
9217
92182006-04-28 21:24  gb
9219
9220        * lib/ppc-backtrace.lisp: Fix typo.
9221
92222006-04-28 21:23  gb
9223
9224        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9225       
9226        Change the command/keyword parser a little, so that :FOO is just
9227        :FOO and not (:FOO).
9228       
9229        Change :B break loop command (and :F) to allow focusing on a range
9230        of frames, and change PRINT-CALL-HISTORY to more easily support
9231        that.
9232
92332006-04-28 19:37  gb
9234
9235        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9236        LOAD-CONSTANT form.
9237
92382006-04-28 19:34  gb
9239
9240        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9241        Factor out a little more.  Time to see what's broken on PPC ...
9242
92432006-04-28 19:34  gb
9244
9245        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9246        around colon-commands optional.
9247
92482006-04-28 04:11  gb
9249
9250        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9251        debugger's register display code.
9252
92532006-04-28 04:11  gb
9254
9255        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9256        on the stack is bogus.
9257
92582006-04-28 04:10  gb
9259
9260        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9261        ...) when calling back for an exception.
9262
92632006-04-28 03:36  gb
9264
9265        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9266       
9267        xcf struct.
9268
92692006-04-28 03:36  gb
9270
9271        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9272
92732006-04-28 03:36  gb
9274
9275        * lib/x86-backtrace.lisp: Implemented some stuff.
9276       
9277        Backtrace (sort of) works on x8664 now; need to find register
9278        values,  hide tagged return addresses, a few other things.
9279
92802006-04-28 03:34  gb
9281
9282        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9283
92842006-04-28 03:34  gb
9285
9286        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9287
92882006-04-28 03:33  gb
9289
9290        * level-1/x86-trap-support.lisp: Flags register accessor.
9291       
9292        New exception callback scheme.
9293
92942006-04-28 03:33  gb
9295
9296        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9297        changing.
9298
92992006-04-28 03:32  gb
9300
9301        * level-1/x86-error-signal.lisp: New exception callback stuff.
9302
93032006-04-28 03:32  gb
9304
9305        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9306
93072006-04-28 03:32  gb
9308
9309        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9310        files.
9311
93122006-04-28 03:31  gb
9313
9314        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9315        have exception callback frames ...
9316
93172006-04-28 03:30  gb
9318
9319        * level-1/l1-error-system.lisp: Tweak :report method for
9320        wrong-number-of-args errors.
9321
93222006-04-28 03:30  gb
9323
9324        * level-0/X86/x86-def.lisp: Implement APPLY+.
9325
93262006-04-28 03:29  gb
9327
9328        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9329
93302006-04-28 03:27  gb
9331
9332        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9333       
9334        CHECK-NARGS: don't enforce upper bound if it's null.
9335
93362006-04-28 03:17  gb
9337
9338        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9339
93402006-04-28 03:16  gb
9341
9342        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9343        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9344
93452006-04-26 14:18  gb
9346
9347        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9348
93492006-04-26 14:17  gb
9350
9351        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9352        prepared" to do so) if its argument isn't a function designator, so
9353        don't quietly call METHOD-FUNCTION for the user.
9354
93552006-04-26 13:56  gb
9356
9357        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9358        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9359
93602006-04-26 03:59  gb
9361
9362        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9363        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9364        exceptions will be pending when we start an ff-call (and the mxcsr
9365        is loaded from that location.)
9366       
9367        tcr.ffi_exception will then contain non-zero exception bits iff the
9368        most recent ff-call raised a (probably masked) FP exception.
9369       
9370        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9371
93722006-04-26 03:55  gb
9373
9374        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9375
93762006-04-26 03:23  gb
9377
9378        * lisp-kernel/x86-constants64.s: Update comment on
9379        tcr.ffi_exception.
9380
93812006-04-26 03:22  gb
9382
9383        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9384        from ffcall.  (Should maybe clear exception bits on entry to
9385        foreign state, so we're sure that any exception bits set in the
9386        tcr.ffi_exception slot were caused by the most recent ff-call.)
9387
93882006-04-26 03:20  gb
9389
9390        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9391        ffcall, compare them to unmasked exception bits in current MXCSR,
9392        maybe raise FP exception.  (Note: compile this change and rebuild
9393        image before making corresponding kernel change.)
9394
93952006-04-26 02:31  gb
9396
9397        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9398        LOGAND-2, not to LOGXOR-2.  Sheesh.
9399
94002006-04-26 02:01  gb
9401
9402        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9403        bit numbers as tests of the sign bit.   (This is probably best
9404        viewed as being "formally undefined", but it's not too expensive to
9405        check for that.  The case where the bit number's negative is
9406        definitely undefined; I think that it also gets treated as a test
9407        of the sign bit.)
9408
94092006-04-26 01:58  gb
9410
9411        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9412        negative.
9413
94142006-04-26 01:32  gb
9415
9416        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9417        61.  (Should check here for negative bit .)
9418
94192006-04-26 01:31  gb
9420
9421        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9422        context" error - which typically indicates a fault during exception
9423        processing - pass the context in to the kernel debugger.
9424
94252006-04-26 01:30  gb
9426
9427        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9428
94292006-04-26 00:56  gb
9430
9431        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9432        if it compares all corresponding digits, rather than repeatedly
9433        comparing the 0th digits N times ...
9434
94352006-04-25 17:38  gb
9436
9437        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9438        is 0, not if disp is 0.  ash: always make a signed integer out of
9439        the result,  since arg is always signed.
9440
94412006-04-25 17:37  gb
9442
9443        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9444        bit, so (for instance) (- 0.0d0) is -0.0d0.
9445
94462006-04-25 17:36  gb
9447
9448        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9449        time.
9450
94512006-04-25 17:35  gb
9452
9453        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9454        operand is in target reg (2-address issue.)
9455
94562006-04-24 16:42  gb
9457
9458        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9459        Apparently, pretty hard.  It was doing a logical shift right when
9460        typechecking the value, so negative values were rejected.
9461
94622006-04-24 16:41  gb
9463
9464        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9465        callback now takes a 'signo' argument.
9466
94672006-04-24 16:40  gb
9468
9469        * level-1/x86-trap-support.lisp: Initial support for handling
9470        arithmetic errors.  Will need more work to get operation and
9471        operands right.
9472
94732006-04-24 16:39  gb
9474
9475        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9476
94772006-04-24 13:58  gb
9478
9479        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9480        uuo-error-reg-not-type case.
9481
94822006-04-24 13:57  gb
9483
9484        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9485        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9486        another story.)
9487
94882006-04-24 13:55  gb
9489
9490        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9491        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9492        boxed, either.
9493
94942006-04-24 12:02  gb
9495
9496        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9497        _SPtcallnfngen: several bugs, which were already fixed in similar
9498        variants.
9499
95002006-04-24 12:01  gb
9501
9502        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9503        Deutch/Waite/Schorr marker.
9504
95052006-04-24 12:00  gb
9506
9507        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9508        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9509
95102006-04-24 11:59  gb
9511
9512        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9513
95142006-04-24 11:58  gb
9515
9516        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9517        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9518        DOUBLE-FLOAT.
9519
95202006-04-24 11:58  gb
9521
9522        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9523        high and low words of the mantissa, to ensure that no hidden bits
9524        are set.  (Some such bits were set, causing many double-float
9525        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9526
95272006-04-24 02:21  gb
9528
9529        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9530        image.
9531       
9532        (Don't expect it to have any contents yet; that'll require several
9533        more changes.   This is all intended to support PURIFY on x8664,
9534        where we'll want to ensure that any constant referenced by a
9535        function in readonly/pure memory has a fixed, static address.)
9536
95372006-04-24 02:14  gb
9538
9539        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9540        section makes NUM_IMAGE_SECTIONS 4.
9541
95422006-04-24 02:13  gb
9543
9544        * lisp-kernel/area.h: Typo in the definition of
9545        AREA_MANAGED_STATIC.
9546
95472006-04-24 02:12  gb
9548
9549        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9550        more areas.
9551
95522006-04-24 02:12  gb
9553
9554        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9555        addresses of instructions (not pointers thereto ...)
9556
95572006-04-24 02:11  gb
9558
9559        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9560        (mostly so that I could step through it to remember how it worked
9561        ...).
9562
95632006-04-24 02:10  gb
9564
9565        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9566        indirection.
9567
95682006-04-24 02:09  gb
9569
9570        * lisp-kernel/x86-gc.c: Remove a sanity check.
9571
95722006-04-24 02:09  gb
9573
9574        * xdump/xfasload.lisp: Create (empty) managed-static section
9575        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9576
95772006-04-24 02:08  gb
9578
9579        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9580        section.
9581
95822006-04-24 02:07  gb
9583
9584        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9585        fds, take CLOSE-ON-ERROR more seriously.
9586
95872006-04-24 02:06  gb
9588
9589        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9590        %CURRENT-FRAME-PTR) on PPC32/64.
9591
95922006-04-24 00:50  gb
9593
9594        * level-1/version.lisp: Bump.  Getting there ...
9595
95962006-04-24 00:50  gb
9597
9598        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9599       
9600        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9601        so pass them as a pointer to avoid word-size issues.
9602
96032006-04-24 00:48  gb
9604
9605        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9606        things that had been missing.
9607
96082006-04-24 00:48  gb
9609
9610        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9611        UUOs.
9612
96132006-04-24 00:48  gb
9614
9615        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9616
96172006-04-24 00:47  gb
9618
9619        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9620
96212006-04-24 00:47  gb
9622
9623        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9624
96252006-04-24 00:47  gb
9626
9627        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9628
96292006-04-24 00:46  gb
9630
9631        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9632        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9633        need to boostrap on PPC).
9634       
9635        Parse %FOREIGN-STACK-POINTER.
9636
96372006-04-22 03:30  gb
9638
9639        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9640        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9641        because (a) nothing else will and (b) the tcr will likely become
9642        unmapped soon, and we don't want things that walk the tcr list to
9643        segfault.
9644
96452006-04-22 03:27  gb
9646
9647        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9648        find_foreign_rsp; call Bug() and exit() if the context has no
9649        fpregs.  (That's a symptom, not the proble, but it's slightly
9650        better to do this than to double fault, which is what seems to be
9651        happening.)
9652
96532006-04-21 10:12  gb
9654
9655        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9656        worry about consing, write-barrier stuff.
9657
96582006-04-21 10:11  gb
9659
9660        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9661        (condition codes.)
9662
96632006-04-21 10:11  gb
9664
9665        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9666        (again.)
9667       
9668        Define enumeration constants for matching the instructions that can
9669        occur during consing.
9670
96712006-04-21 10:09  gb
9672
9673        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9674        store_node_conditional, in case pc_luser_xp() needs to complete the
9675        memoization.
9676
96772006-04-21 02:50  gb
9678
9679        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9680        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9681        allowed.
9682
96832006-04-21 02:49  gb
9684
9685        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9686        line up with GPRs.
9687
96882006-04-21 02:48  gb
9689
9690        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9691        #+64-bit-target, not #+ppc64-target.
9692
96932006-04-21 02:47  gb
9694
9695        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9696        amount.
9697
96982006-04-21 02:46  gb
9699
9700        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9701        unique to PPC64 (but do depend on #+64-bit-target).
9702
97032006-04-21 02:46  gb
9704
9705        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9706        confuse PROGV; remove them, for now.
9707
97082006-04-20 23:35  gb
9709
9710        * lisp-kernel/x86-spentry64.s: In the bignum case of
9711        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9712        whatever the code was trying to do there.
9713       
9714        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9715        and arg_z from the correct offsets within the lexpr.
9716
97172006-04-20 04:48  gb
9718
9719        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9720        force it to always be used, for now.
9721
97222006-04-19 17:11  gb
9723
9724        * lisp-kernel/pmcl-kernel.c: (Very) different
9725        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9726
97272006-04-19 17:10  gb
9728
9729        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9730        Solaris.
9731
97322006-04-19 00:35  gb
9733
9734        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9735        reversing-pointer marker should work.  (Perhaps it's a strong
9736        argument for implementing "purify" soon.)
9737
97382006-04-19 00:34  gb
9739
9740        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9741        function-boundary-marker.
9742
97432006-04-19 00:33  gb
9744
9745        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9746
97472006-04-18 19:35  gb
9748
9749        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9750        multiple-value case of THROW: don't want to do unbind_to if tcr's
9751        db-link matches target catch frame's.
9752
97532006-04-18 19:33  gb
9754
9755        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9756        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9757        synch with x86-asm.
9758
97592006-04-18 19:33  gb
9760
9761        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9762        :R in break messages.
9763       
9764        Say more about :C in :R.
9765
97662006-04-18 19:32  gb
9767
9768        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9769        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9770        seems to have been fixed.
9771
97722006-04-18 19:31  gb
9773
9774        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9775        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9776        horrible kludge, but it only happens once.)
9777
97782006-04-18 19:19  gb
9779
9780        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9781        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9782        to have been fixed.
9783
97842006-04-18 19:18  gb
9785
9786        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9787        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9788        ends of its arguments and ignoring the first few bytes (as well as
9789        doing misaligned memory references.)
9790
97912006-04-18 19:16  gb
9792
9793        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9794        This'll require some thought, mostly because of the reserved-frame
9795        issue(s).
9796
97972006-04-18 06:21  gb
9798
9799        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9800        adventures are about to end, I'm afraid.
9801
98022006-04-18 06:04  gb
9803
9804        * level-1/version.lisp: Daily bump.
9805
98062006-04-18 05:59  gb
9807
9808        * level-1/l1-sockets.lisp: Comment indentation.
9809
98102006-04-18 05:56  gb
9811
9812        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9813
98142006-04-18 05:55  gb
9815
9816        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9817        ppc-def (that means that there will need to be an APPLY+ for
9818        x8664).
9819
98202006-04-18 05:38  gb
9821
9822        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9823        compiler and x8664-vinsn-templates to agree on vinsn-names and
9824        implement some vinsns that had been missing.  (About 15 or so
9825        undefined vinsns remain.)
9826
98272006-04-18 05:37  gb
9828
9829        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9830        opcode ordinals in vinsn templates (e.g., in case new instructions
9831        are defined in the assembler) wasn't checking to see if vinsn
9832        templates named in the hash table were defined.  (It was apparently
9833        getting away with this because CONSP was broken.)  So, don't try to
9834        fixup opcode ordinals in NIL, and optionally report templates
9835        that're referenced but not defined.
9836
98372006-04-18 04:38  gb
9838
9839        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9840        (which only sets the low 8 bits of its destination), then comparing
9841        all 64-bits of the destination to a zero-extended 32-bit constant.
9842        (E.g., CONSP had little chance of being right all other things
9843        being equal, but may have been right more than one in 2^56 times if
9844        some random preceding instruction had zeroed the upper 56 bits.)
9845       
9846        (It's also shorter to do an 8-bit compare.)
9847
98482006-04-18 03:11  gb
9849
9850        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9851
98522006-04-18 02:51  gb
9853
9854        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9855        happy (well, as happy as they're going to be ...), back to finding
9856        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9857
98582006-04-18 01:26  gb
9859
9860        * lisp-kernel/thread_manager.c: Some Solaris changes.
9861
98622006-04-18 00:48  gb
9863
9864        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9865        installs in /usr/sfw/bin is both newer and buggier than the version
9866        available on the "Solaris Companion" disk, which gets installed in
9867        /opt/sfw/bin.
9868       
9869        Ordinarily, I'd wonder why a "companion" disk offers to install
9870        software that's bundled as part of the installation (especially old
9871        versions of that software.)  Now I know.
9872
98732006-04-18 00:45  gb
9874
9875        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9876
98772006-04-18 00:45  gb
9878
9879        * lisp-kernel/m4macros.m4: Fix changecom.
9880
98812006-04-18 00:11  gb
9882
9883        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9884        but is otherwise fine with single-line /* */.
9885
98862006-04-18 00:09  gb
9887
9888        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9889        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9890        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9891        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9892        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9893        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9894        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9895        like Darwin as, but we're back to single-line /* */, which is often
9896        pretty ugly and not well-supported by Emacs.
9897
98982006-04-17 23:23  gb
9899
9900        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9901        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9902        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9903        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9904        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9905        by Emacs and by all current GAS versions (but see ARM conventions.)
9906         No more jerking around with this, knock wood.
9907
99082006-04-17 23:23  gb
9909
9910        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9911        case where caller provided args before the lexpr, which is much
9912        harder than the simple case.
9913       
9914        Use #/newline for comment delimiters, which is supported by Emacs
9915        and by all current GAS versions (but see ARM conventions.)  No more
9916        jerking around with this, knock wood.
9917
99182006-04-17 23:20  gb
9919
9920        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9921        when numbers differed greatly in magnitude.  Current (binary)
9922        algorithm is usually OK.
9923
99242006-04-17 23:17  gb
9925
9926        * compiler/X86/x86-lap.lisp: Condition name should be
9927        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9928        not the problem.  Name wasn't spelled correctly in code that
9929        signals the condition, anyway.
9930
99312006-04-17 16:34  gb
9932
9933        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9934        argument, takes a new boolean to distinguish current tcr from
9935        others.  (The current tcr is only lusered on an interrupt; others
9936        are only lusered on GC entry.)
9937
99382006-04-17 16:33  gb
9939
9940        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9941        here.  (No deep reason not to share the new x86 signature on all
9942        architectures.)
9943
99442006-04-17 16:32  gb
9945
9946        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9947        here.  (No deep reason not to share the new x86 signature on all
9948        architectures.)
9949
99502006-04-17 16:31  gb
9951
9952        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9953        platform-dependent.
9954
99552006-04-17 06:49  gb
9956
9957        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9958        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9959        already.
9960
99612006-04-17 06:17  gb
9962
9963        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9964        truly portable type name.
9965
99662006-04-17 06:16  gb
9967
9968        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9969        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9970        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9971        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9972        work if they're at the start of a line in Linux GAS.  Try /* */
9973        comments, but limit them to a single line.  (May ultimately be
9974        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9975
99762006-04-17 05:28  gb
9977
9978        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9979        x86-subprims64.s, x86-uuo.s: // comments.
9980
99812006-04-17 05:28  gb
9982
9983        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
9984        conditionalization.
9985
99862006-04-17 05:27  gb
9987
9988        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
9989        accessors, etc.)
9990
99912006-04-17 05:26  gb
9992
9993        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
9994        the sigstack trampoline stuff.)
9995
99962006-04-17 05:25  gb
9997
9998        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
9999        integer types.
10000
100012006-04-17 05:24  gb
10002
10003        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10004        x86-constants64.s: // comments.
10005
100062006-04-17 05:23  gb
10007
10008        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10009        Solaris mmap() is ... unusual.
10010
100112006-04-17 05:21  gb
10012
10013        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10014        since Solaris version of GAS doen't handle multi-line comments (/*
10015        ... */).  It -seems- that other assemblers do handle them
10016        correctly; we'll see.
10017       
10018        Some Solaris conditionalization (ELFstabs, etc.)
10019
100202006-04-17 05:20  gb
10021
10022        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10023         We'll see what this breaks.
10024
100252006-04-17 05:19  gb
10026
10027        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10028        SOLARIS is defined.
10029
100302006-04-17 05:18  gb
10031
10032        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10033        registers in predictable order.
10034
100352006-04-17 05:17  gb
10036
10037        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10038        single-line comments, since Solaris version of GAS doen't handle
10039        multi-line comments (/* ... */).  It -seems- that other assemblers
10040        do handle them correctly; we'll see.
10041
100422006-04-17 05:15  gb
10043
10044        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10045
100462006-04-17 05:15  gb
10047
10048        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10049       
10050        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10051        platforms ?
10052
100532006-04-17 05:01  gb
10054
10055        * lisp-kernel/solarisx64/Makefile: new file
10056
100572006-04-17 04:56  gb
10058
10059        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10060        change the name/usage of the linker script.
10061       
10062        Stop using the linker script (since spjump is the only thing in the
10063        kernel that has to be at a fixed address and we can copy it there.)
10064       
10065        Don't disable the EGC.
10066
100672006-04-17 04:54  gb
10068
10069        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10070        the spjump table, exported for C (so that spjump can be mapped into
10071        low memory.)
10072
100732006-04-17 04:54  gb
10074
10075        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10076       
10077        If the tlb's too small when trying to bind a special, push the
10078        binding index of the symbol we're binding (for the benefit of the
10079        handler.)
10080
100812006-04-17 04:52  gb
10082
10083        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10084        code words than it has elements (can't happen, unless the
10085        function's code-words word is garbage, which seems to happen when
10086        closures get consed up in non-zeroed memory.)
10087       
10088        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10089        %nargs.q), which sometimes contains something tagged and
10090        non-immediate.
10091
100922006-04-17 04:48  gb
10093
10094        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10095        to ensure that everythings's zeroed.
10096       
10097        x8664 implementation of extend_tcr_tlb().
10098       
10099        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10100        in call to update_bytes_allocated().
10101       
10102        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10103        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10104        bug, and possibly some other instabiliy.)
10105       
10106        handle_exception: keep trying to guess how to distinguish memory
10107        faults from other sources of SIGSEGV.
10108       
10109        On debug traps, advance the PC past the UUO before entering the
10110        debugger.
10111       
10112        Handle XUUO_TLB_TOO_SMALL.
10113
101142006-04-17 04:42  gb
10115
10116        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10117        reserved_frame_marker.
10118
101192006-04-17 04:42  gb
10120
10121        * lisp-kernel/thread_manager.c: Remove implementation of
10122        extend_tcr_tlb().
10123
101242006-04-17 04:41  gb
10125
10126        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10127        extend_tcr_tlb().
10128
101292006-04-17 04:41  gb
10130
10131        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10132
101332006-04-17 04:40  gb
10134
10135        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10136        that we don't need to use a linker script.
10137
101382006-04-17 04:40  gb
10139
10140        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10141        target xxx-exceptions.h now.
10142
101432006-04-17 04:39  gb
10144
10145        * lib/misc.lisp: Some comment formatting/editing.
10146
101472006-04-17 04:38  gb
10148
10149        * level-1/version.lisp: Bump.
10150
101512006-04-17 04:38  gb
10152
10153        * level-1/l1-readloop.lisp: Some debugging code in the code which
10154        creates the final closure.  It seems that when it's bad, it's bad
10155        on creation (here.)
10156
101572006-04-17 04:37  gb
10158
10159        * level-1/l1-processes.lisp: Some debugging code in
10160        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10161        final closure to be trashed.
10162       
10163        I don't think that other threads were getting their allocptr's
10164        nullified correctly by the GC/normalize_tcr(); with the current
10165        debugging code in place, it seems like the closure is consed on top
10166        of something other than free, thread-private heap memory (when it's
10167        bad, it fails the first check here.  I'm not sure that the latest
10168        round of GC/normalize-tcr() changes have fixed the problem, but I
10169        haven't seen it in a while now, either.)
10170
101712006-04-17 04:32  gb
10172
10173        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10174        disassembly, etc.).
10175
101762006-04-17 04:31  gb
10177
10178        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10179        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10180        (anymore.)
10181       
10182        Subprims are down in low memory again; make INIT-CLOSURE skip
10183        setting the high byte of .SPcall-closure's address if it's zero.
10184
101852006-04-17 04:28  gb
10186
10187        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10188        which may help backtrace.
10189
101902006-04-17 04:26  gb
10191
10192        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10193        (interface/implementation.)
10194
101952006-04-15 09:20  gb
10196
10197        * level-1/x86-callback-support.lisp: Ensure that callback
10198        trampolines are allocated in executable memory.
10199
102002006-04-15 09:12  gb
10201
10202        * lib/dumplisp.lisp: Refresh external entry points before reviving
10203        callbacks.  Reset callback storage before reviving callbacks.
10204
102052006-04-15 09:10  gb
10206
10207        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10208        error message with a %.  (Where did that come from ?)
10209
102102006-04-15 09:08  gb
10211
10212        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10213        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10214        is executable.
10215
102162006-04-14 09:02  gb
10217
10218        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10219
102202006-04-14 08:21  gb
10221
10222        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10223        shorthand for the nearest matching year.
10224
102252006-04-14 08:20  gb
10226
10227        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10228        when : was missing.
10229
102302006-04-13 23:09  gb
10231
10232        * lib/ppc-backtrace.lisp: Eschew missing parens.
10233
102342006-04-13 23:08  gb
10235
10236        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10237
102382006-04-13 23:08  gb
10239
10240        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10241        ARGLIST-FROM-MAP.
10242
102432006-04-13 23:02  gb
10244
10245        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10246        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10247        about returning a second value; returns values NIL, T for functions
10248        that take no args and don't have a symbol map.
10249
102502006-04-13 22:53  gb
10251
10252        * level-1/l1-lisp-threads.lisp: Try to make args to
10253        NTH-VALUE-IN-FRAME et al a little saner.
10254
102552006-04-13 22:37  gb
10256
10257        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10258        type.
10259
102602006-04-13 22:36  gb
10261
10262        * level-1/version.lisp: Bump.
10263
102642006-04-13 22:35  gb
10265
10266        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10267        trying to find the cause of the crash-on-quit bug.
10268
102692006-04-13 07:30  gb
10270
10271        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10272
102732006-04-13 07:29  gb
10274
10275        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10276        stuff to target-backtrace.
10277
102782006-04-13 06:45  gb
10279
10280        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10281
102822006-04-13 06:44  gb
10283
10284        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10285        x8664.
10286
102872006-04-13 06:44  gb
10288
10289        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10290        bytes of %nargs_q contain arg count.
10291
102922006-04-13 06:43  gb
10293
10294        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10295
102962006-04-13 06:43  gb
10297
10298        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10299        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10300        APPLY.
10301
103022006-04-13 06:42  gb
10303
10304        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10305
103062006-04-13 06:41  gb
10307
10308        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10309        operands.
10310
103112006-04-13 06:41  gb
10312
10313        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10314        "vector-lists" instead of adjustable arrays, simplify handling of
10315        constant expressions.  Still conses hysterically; need to find out
10316        where and tone it down a bit, if possible.
10317
103182006-04-13 06:39  gb
10319
10320        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10321        operands; maybe no lap constant-expressions.
10322
103232006-04-13 06:39  gb
10324
10325        * compiler/X86/x86-asm.lisp: Don't need
10326        *lap-constant-0-expression*.
10327
103282006-04-13 00:46  gb
10329
10330        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10331        linker script.
10332
103332006-04-13 00:45  gb
10334
10335        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10336        2.16.1 (Thanks to James Bielman).
10337
103382006-04-12 18:53  gb
10339
10340        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10341        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10342        of this seems to have to do with C++ static constructors, which
10343        aren't really relevant here.)
10344
103452006-04-12 18:28  gb
10346
10347        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10348        between %Rforeign_sp and GPRs.
10349
103502006-04-12 18:22  gb
10351
10352        * lisp-kernel/linuxx8664/Makefile: egc flag
10353
103542006-04-12 18:08  gb
10355
10356        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10357        where we're losing here.
10358
103592006-04-12 18:07  gb
10360
10361        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10362        write barrier code, crap out if so.
10363
103642006-04-12 18:06  gb
10365
10366        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10367        (presumably in a Makefile).
10368
103692006-04-12 14:50  gb
10370
10371        * level-1/version.lisp: Bump.
10372
103732006-04-12 14:46  gb
10374
10375        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10376        x86-backtrace.lisp: new target backtrace stuff.
10377
103782006-04-12 14:45  gb
10379
10380        * lib/backtrace.lisp: Start splitting things up, ideally into a
10381        mostly abstract API and gory platform- dependent implementation
10382        details.
10383
103842006-04-11 21:40  gb
10385
10386        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10387        the damned thing on.  (A little painful with integrity checking
10388        enabled, as it still is by default.)
10389       
10390        TODO:
10391       
10392        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10393        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10394        exception handling - check UUO usage in kernel, disassembler,
10395        exception handlers - stack overflow recovery
10396
103972006-04-11 21:24  gb
10398
10399        * lisp-kernel/x86-gc.c: Skip over function code in
10400        check_refmap_consistency.
10401
104022006-04-11 21:23  gb
10403
10404        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10405        backwards.
10406
104072006-04-11 19:11  gb
10408
10409        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10410
104112006-04-11 19:11  gb
10412
10413        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10414        a closure, no lfname slot in closure.
10415
104162006-04-11 16:29  gb
10417
10418        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10419        area.
10420
104212006-04-11 16:29  gb
10422
10423        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10424        between lisp/foreign code.
10425
104262006-04-11 16:29  gb
10427
10428        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10429        bit-order problems.)
10430       
10431        Maintain the MXCSR on transitions between lisp/foreign code.
10432
104332006-04-11 16:28  gb
10434
10435        * lisp-kernel/x86-macros.s: Access globals in expressions.
10436
104372006-04-11 16:27  gb
10438
10439        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10440        need some bootstrapping stuff (function boundary markers) for a few
10441        reasons, as will DWS marker.
10442
104432006-04-11 16:27  gb
10444
10445        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10446        the siginfo error code.
10447
104482006-04-11 16:26  gb
10449
10450        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10451        fields in tcr.
10452
104532006-04-11 16:25  gb
10454
10455        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10456
104572006-04-11 16:25  gb
10458
10459        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10460        when starting a lisp thread.  (It'll be saner when FP exceptions
10461        are handled.)
10462
104632006-04-11 16:24  gb
10464
10465        * level-1/x86-error-signal.lisp: Recognize what complaints about
10466        non-uvectors are trying to tell us.
10467
104682006-04-11 16:23  gb
10469
10470        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10471        vectors.
10472
104732006-04-11 16:23  gb
10474
10475        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10476        Ses.  Define classes for function/symbol vectors.
10477
104782006-04-11 16:22  gb
10479
10480        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10481
104822006-04-11 16:21  gb
10483
10484        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10485        needs to add a function boundary marker (but we can stop padding
10486        each closure with a null function name slot.)
10487
104882006-04-11 16:20  gb
10489
10490        * compiler/X86/X8664/x8664-arch.lisp: Define
10491        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10492
104932006-04-11 16:19  gb
10494
10495        * compiler/X86/x862.lisp: Emit a function boundary marker between
10496        code and constants. (For GC reasons.) Change closure initialization
10497        to account for it.
10498
104992006-04-11 16:18  gb
10500
10501        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10502        between code and constants. (For GC reasons.)
10503
105042006-04-11 16:17  gb
10505
10506        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10507
105082006-04-11 16:17  gb
10509
10510        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10511       
10512        See if we can get by without 68K condition code ...
10513
105142006-04-11 06:53  gb
10515
10516        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10517        soon.
10518
105192006-04-11 06:53  gb
10520
10521        * lib/numbers.lisp: Infinity constants conditionalized on/off
10522        during MXCSR adventures.  On now.
10523
105242006-04-11 06:52  gb
10525
10526        * lib/describe.lisp: Comment indentation.
10527       
10528        No such thing as an interpreted function; hasn't been for years.
10529
105302006-04-11 06:51  gb
10531
10532        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10533        al.
10534
105352006-04-11 06:51  gb
10536
10537        * level-1/version.lisp: Bumped yesterday.
10538
105392006-04-11 06:50  gb
10540
10541        * level-1/l1-error-signal.lisp: Comments.
10542
105432006-04-11 06:50  gb
10544
10545        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10546        at least.
10547
105482006-04-11 06:50  gb
10549
10550        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10551        a fixnum constant is boxed in %SET-MXCSR.
10552
105532006-04-11 06:49  gb
10554
10555        * level-0/X86/x86-def.lisp: Get info about register usage.
10556
105572006-04-11 06:49  gb
10558
10559        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10560        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10561        though that it was dealing with a scaled index.
10562
105632006-04-11 06:48  gb
10564
10565        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10566        aref.
10567
105682006-04-11 06:48  gb
10569
10570        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10571        do something about FRAG-CODE-BUFFERs, and need to tone down
10572        expression overkill.
10573
105742006-04-11 06:46  gb
10575
10576        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10577        for when opcode ordinals change.
10578
105792006-04-11 06:46  gb
10580
10581        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10582        UUO-ERROR-ARRAY-RANK.
10583       
10584        Vinsn template fixup mechanism, for when opcode ordinals change.
10585
105862006-04-11 06:45  gb
10587
10588        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10589
105902006-04-11 06:45  gb
10591
10592        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10593
105942006-04-11 06:44  gb
10595
10596        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10597        specialized list header initialization.
10598
105992006-04-11 06:43  gb
10600
10601        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10602        2d float arrays.
10603
106042006-04-10 10:19  gb
10605
10606        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10607        foreign SP properly obeying C alignment conventions.  In order to
10608        get it aligned for lisp usage during the callback, an extra word
10609        needs to be pushed before the backpointer to the old foreign RSP.
10610
106112006-04-10 10:18  gb
10612
10613        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10614        is 16-byte aligned, so that the foreign stack pointer is aligned
10615        according to C conventions when we enter the signal handler on that
10616        stack.
10617
106182006-04-10 10:13  gb
10619
10620        * lib/numbers.lisp: Define FP infinities, since we're running with
10621        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10622        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10623        an unmasked FP exception was raised and unhandled.)
10624
106252006-04-10 10:10  gb
10626
10627        * lib/level-2.lisp: Remove the WARN and the conditionalization
10628        around bit/bitfield accessors on X8664.
10629
106302006-04-10 10:09  gb
10631
10632        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10633        from memory, we say "ldmxcsr".  We want to do such a load in order
10634        to write new values into the mxcsr.  To store it in memory, we say
10635        "stmxcsr".  We want to do such a store (and a subsequent load from
10636        memory) in order to access the value of the mxcsr.  Simple, no ?
10637
106382006-04-10 10:07  gb
10639
10640        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10641        %GET-BIT/%SET-BIT.
10642
106432006-04-10 08:29  gb
10644
10645        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10646        addition/multiplication: either arg can overlap result (and often
10647        will).  Float subtraction/division: caller should ensure that
10648        result and second arg are disjoint.
10649
106502006-04-10 08:27  gb
10651
10652        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10653        that result doesn't overlap second argument for non-commutative
10654        operations.
10655
106562006-04-10 08:26  gb
10657
10658        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10659
106602006-04-10 05:12  gb
10661
10662        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10663        malloc them.
10664
106652006-04-10 05:12  gb
10666
10667        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10668
106692006-04-10 05:11  gb
10670
10671        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10672        good reason not to.
10673
106742006-04-10 04:39  gb
10675
10676        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10677        are always big-endian.
10678
106792006-04-10 04:38  gb
10680
10681        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10682        reachable via a TRA, update the variable "dnode" so that the
10683        correct bits get set.
10684
106852006-04-10 04:37  gb
10686
10687        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10688
106892006-04-10 04:37  gb
10690
10691        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10692        a bit simpler.
10693
106942006-04-10 04:36  gb
10695
10696        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10697        the MAKE-LOAD-FORM method for hashtables.
10698
106992006-04-09 09:17  gb
10700
10701        * lisp-kernel/thread_manager.c: Inflate control stack size on
10702        x8664, until DWS marker works (and do so correctly this time).
10703
107042006-04-09 09:12  gb
10705
10706        * lisp-kernel/thread_manager.c: Inflate control stack size on
10707        x8664, until DWS marker works.
10708
107092006-04-09 09:09  gb
10710
10711        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10712        #+x86-target DBG trap.
10713
107142006-04-09 08:57  gb
10715
10716        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10717        (Should be exactly the same code, but may not have been 15 years
10718        ago or whenever this was written.)
10719
107202006-04-09 08:56  gb
10721
10722        * lisp-kernel/x86-spentry64.s,
10723        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10724        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10725
107262006-04-09 03:52  gb
10727
10728        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10729        condition_to_boolean.  Not clear why this is necessary, but it
10730        seems to be.
10731
107322006-04-09 03:24  gb
10733
10734        * lisp-kernel/x86-macros.s: Use shorter sequence in
10735        condition_to_boolean.
10736
107372006-04-09 02:32  gb
10738
10739        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10740        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10741        other things being equal.
10742
107432006-04-09 01:37  gb
10744
10745        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10746        operands backwards.
10747
107482006-04-09 01:37  gb
10749
10750        * compiler/optimizers.lisp: Comment formatting.
10751
107522006-04-09 01:29  gb
10753
10754        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10755        bsr/xorl != clz when (zerop n).
10756
107572006-04-08 21:25  gb
10758
10759        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10760        current thread before entering kernel debugger.
10761
107622006-04-08 21:21  gb
10763
10764        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10765        (TARGET-XLOAD-MODULES).
10766
107672006-04-08 21:21  gb
10768
10769        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10770
107712006-04-08 21:20  gb
10772
10773        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10774
107752006-04-08 20:46  gb
10776
10777        * lib/foreign-types.lisp: Add missing paren ...
10778
107792006-04-08 20:45  gb
10780
10781        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10782
107832006-04-08 20:44  gb
10784
10785        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10786        structs by value, sort of.
10787
107882006-04-08 20:43  gb
10789
10790        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10791
107922006-04-08 20:42  gb
10793
10794        * library/hash-cons.lisp: Port some of this to x8664; need to add
10795        code to maintain "used" bitmap.
10796
107972006-04-08 20:42  gb
10798
10799        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10800        short term.
10801
108022006-04-08 20:41  gb
10803
10804        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10805        someday fix this crap.
10806
108072006-04-08 20:40  gb
10808
10809        * lib/describe.lisp: Conditionalize, a little.
10810
108112006-04-08 20:40  gb
10812
10813        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10814
108152006-04-08 20:39  gb
10816
10817        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10818
108192006-04-08 20:39  gb
10820
10821        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10822
108232006-04-08 20:39  gb
10824
10825        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10826        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10827
108282006-04-08 20:38  gb
10829
10830        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10831        l1-readloop-lds (nothing to do with PPC or traps ...)
10832
108332006-04-08 20:37  gb
10834
10835        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10836
108372006-04-08 04:46  gb
10838
10839        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10840        restore, even if there's only one values-producing form (that form
10841        might produce more values than will fit in argument registers, and
10842        we therefore have to reserve space for a stack frame.)
10843
108442006-04-08 04:45  gb
10845
10846        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10847
108482006-04-08 04:43  gb
10849
10850        * lib/macros.lisp: Scanning backwards for instructions depends on a
10851        reasonable architecture.
10852
108532006-04-08 04:43  gb
10854
10855        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10856
108572006-04-08 04:42  gb
10858
10859        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10860        target arch.
10861
108622006-04-08 04:41  gb
10863
10864        * xdump/.cvsignore: ignore *.*fsl
10865
108662006-04-07 22:46  gb
10867
10868        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10869
108702006-04-07 22:45  gb
10871
10872        * compiler/nx1.lisp: Provide an FTYPE declaration for
10873        %DEFINE-PPC-LAP-FUNCTION.
10874
108752006-04-07 22:25  gb
10876
10877        * level-1/version.lisp: Bump.
10878
108792006-04-07 22:19  gb
10880
10881        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10882        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10883        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10884        package.
10885
108862006-04-07 22:18  gb
10887
10888        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
10889        arch:: to ccl::.
10890
108912006-04-07 22:17  gb
10892
10893        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
10894        RISC-LAP, for instance).  That's a different package, too.
10895
108962006-04-07 20:46  gb
10897
10898        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
10899
109002006-04-07 20:45  gb
10901
10902        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
10903        I maybe look at the others, or just fix them as I stumble on them ?
10904
109052006-04-07 20:44  gb
10906
10907        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
10908        a DOUBLE-FLOAT.
10909
109102006-04-07 20:41  gb
10911