source: trunk/ccl/ChangeLog @ 7209

Last change on this file since 7209 was 7209, 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.4 KB
Line 
12007-09-13 06:55  gb
2
3        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
4        src/elisp/README, src/spell/README: Restore some README files,
5        which had somehow gotten lost in translation.
6
72007-09-13 06:54  gb
8
9        *
10        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
11        ib/: classes.nib, info.nib, keyedobjects.nib: not used
12
132007-09-13 06:52  gb
14
15        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
16        for certain kinds of MULTIPLE-VALUE-CALL differently; in
17        particular, note the effect of pushing such a label on stack depth.
18
192007-09-13 06:50  gb
20
21        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
22        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
23        containing directory exists in cvs.
24
252007-09-06 14:10  gb
26
27        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
28        write-info-plist
29
302007-09-04 23:11  gb
31
32        * cocoa-ide/cocoa-editor.lisp: New! Improved!
33       
34        The code which arranges for editing changes to be processed in the
35        main thread now does so via an NSInvocation (ObjC's notion of a
36        closure, sort of); the methods which run in the main thread handle
37        the job of synchronizing the underlying the Hemlock string and the
38        "real" NSMutableAttributedString as well as informing the text
39        system of pending editing changes via
40        #/edited:range:changeInLength:.  The code which processes deletions
41        does the change processing before modifying the string (other
42        methods do it after the change); this seems to be necessary to
43        avoid some things that could cause ticket:50.  (I'm not sure if
44        this fixes ticket:50, but it does seem to fix a reproducible case.)
45       
46        The #/replaceCharactersInRange:withString: method on
47        hemlock-text-storage (which handles buffer changes originating from
48        non-Hemlock sources) is careful to use a :right-inserting temporary
49        mark when modifying the buffer, to help ensure that
50        insertions/deletions take place at the correct absolute position.
51        (This may at least partially address bugs related to things getting
52        confused/out-of-bounds errors when doing lots of cutting and
53        pasting, though it's hard to know without reproducible cases.)
54       
55        The macros NSSTRING-ENCODING-TO-NSINTEGER and
56        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
57        least one of them wasn't.)
58       
59        The handling of text encoding for editor documents has changed in a
60        few ways.  If "automatic" encoding is used in an "Open ..." dialog
61        and is successfully able to infer a text file's encoding, the
62        encoding that was inferred becomes the document's encoding (used in
63        subsequent "save" operations.)  On some OSX versions, the automatic
64        detection mechanism can only recognize UTF-16 files that contain a
65        leading BOM (and the editor's code for dealing with the automatic
66        mechanism didn't expect this to ever work.)  On other systems, the
67        automatic mechanism can return something correct (I've seen UTF-8)
68        but possibly suboptimal.
69       
70        The Open... dialog now defaults to something derived from the
71        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
72        "automatic" is a little unpredictable, the new default is probably
73        better.
74       
75        The NSDocument mechanism for creating backup files (with names of
76        the form "name~.ext") is not used; when backup files are created,
77        we try to copy the original to a file whose name conforms to the
78        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
79        seem to work better when the Emacs scheme is used (though I suppose
80        some people might prefer the NSDocument scheme and we could make
81        this a preference.)
82
832007-09-04 22:11  gb
84
85        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
86        creating a Listener, since (a) that method's deprecated in favor of
87        #/setFileURL: and (b) a newly-created Listener doesn't really have
88        an associated filename, and so shouldn't get the icon and popup in
89        its titlebar.
90       
91        Do arrange that (unless/until a listener document is saved to a
92        file) its window title is based on the underlying Hemlock buffer's
93        name.  (If one ever attempts to save a listener document, the
94        proposed file name is the internal NSDocument name; we might or
95        might not want to change that.)
96
972007-09-04 22:10  gb
98
99        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
100        *MODELINE-FONT-NAME*, -SIZE*.
101
1022007-09-04 19:13  gb
103
104        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
105        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
106        which was supposed to allow us to track the high end of a range of
107        pages that'd been written to and not freed (so we'd zero them
108        lazily when they were reallocated.)  Such a scheme would really
109        need to track both ends of such a range, and the old scheme wound
110        up being overly zealous and often zeroed pages that were already
111        zeroed.  Zero the range between the old free pointer and the new
112        one after each GC, instead.
113       
114        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
115        carefully.
116
1172007-09-04 19:12  gb
118
119        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
120        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
121
1222007-09-04 19:11  gb
123
124        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
125        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
126        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
127        this in the PPC backends.
128       
129        (This needs testing ...)
130
1312007-09-04 19:10  gb
132
133        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
134        :single-float callback results have been coerced to :double-float
135        on x8664.
136
1372007-09-03 18:10  gb
138
139        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
140        selection or the symbol around point, regardless of global parsing
141        state (Ticket:95).  While in there, make meta-. with a numarg
142        prompt for symbol to look up.
143
1442007-08-30 20:10  gb
145
146        * level-1/l1-error-system.lisp: Add a restart for unbound
147        variable/undefined function errors -- if there is a unique
148        bound/fbound symbol of the same name in another package, offer to
149        use it instead.
150
1512007-08-30 19:10  gb
152
153        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
154        inaccesible files; it might return an exit status of 2 if it finds
155        such files, so treat that as "success" for now (ticket:98).
156
1572007-08-30 18:11  gb
158
159        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
160        Variable command output (ticket:97).
161
1622007-08-30 18:10  gb
163
164        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
165        VARIABLE-VALUE to access buffer's package (ticket:82).
166
1672007-08-30 15:11  gb
168
169        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
170        code to copy user-supplied nibfiles into a saved application bundle
171
1722007-08-30 14:10  gb
173
174        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
175        all callers of current-point-for-deletion handle the nil return
176        value case.  This fixes ticket:85
177
1782007-08-29 20:11  gb
179
180        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
181        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
182        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
183        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
184        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
185        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
186        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
187        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
188        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
189        hemlock/src/fill.lisp, hemlock/src/font.lisp,
190        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
191        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
192        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
193        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
194        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
195        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
196        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
197        hemlock/src/macros.lisp, hemlock/src/main.lisp,
198        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
199        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
200        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
201        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
202        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
203        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
204        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
205        hemlock/src/text.lisp, hemlock/src/undo.lisp,
206        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
207        hemlock/src/archive/auto-save.lisp,
208        hemlock/src/archive/bit-display.lisp,
209        hemlock/src/archive/bit-screen.lisp,
210        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
211        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
212        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
213        hemlock/src/archive/eval-server.lisp,
214        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
215        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
216        hemlock/src/archive/lisp-lib.lisp,
217        hemlock/src/archive/lispbuf.lisp,
218        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
219        hemlock/src/archive/netnews.lisp,
220        hemlock/src/archive/overwrite.lisp,
221        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
222        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
223        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
224        hemlock/src/archive/spell-corr.lisp,
225        hemlock/src/archive/spell-rt.lisp,
226        hemlock/src/archive/spellcoms.lisp,
227        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
228        hemlock/src/archive/ts-stream.lisp,
229        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
230        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
231        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
232        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
233        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
234        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
235        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
236        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
237        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
238        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
239        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
240        hemlock/website/index.html.in: umm, load cocoa-grep where it will
241        work...
242
2432007-08-29 20:10  gb
244
245        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
246
2472007-08-29 13:11  gb
248
249        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
250
2512007-08-29 12:12  gb
252
253        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
254        arg (simple case), move point to the location of the temporary mark
255        after calling the indent function.
256
2572007-08-29 12:11  gb
258
259        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
260        returns 2 values: the "column" (with tabs expanded) of the first
261        non-whitespace character on the line and that character's position.
262         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
263        position if no changes are necessary.
264
2652007-08-29 12:10  gb
266
267        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
268        method, make an NS-MUTABLE-STRING even if the string from the
269        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
270        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
271         mutable.) For ticket:84.
272
2732007-08-28 23:10  gb
274
275        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
276        hi::scroll-window actually scroll, not just move insertion point
277        around.  Fixes ticket:88.
278
2792007-08-26 13:11  gb
280
281        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
282        keyword argument to build-application: main-nib-name; names the
283        nigfile that is to be the main nib of the built application
284
2852007-08-26 12:10  gb
286
287        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
288        application bulder to trunk
289
2902007-08-25 02:13  gb
291
292        * cocoa-ide/cocoa-listener.lisp:
293        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
294        #\^d after sending the string.  (This is just a workaround for
295        ticket:82; the trailing #\^d is just treated as whitespace and
296        terminates calls to READ.  We really want some way of recognizing
297        "end of selection" and treating that like a transient EOF in some
298        cases.)
299
3002007-08-25 02:12  gb
301
302        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
303        #/openDocumentWithContentsOfURL:display:error:, since calling
304        #/openDocumentWithContentsOfURL:display: complains that
305        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
306        Cocoa.  (Note that we'd been calling
307        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
308        implementation without incident.)
309
3102007-08-25 02:11  gb
311
312        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
313        notes buffer modification.
314
3152007-08-25 02:10  gb
316
317        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
318        modification.
319
3202007-08-23 17:17  gb
321
322        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
323        method.
324
3252007-08-23 17:16  gb
326
327        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
328        #/editingInProgress method.  Add some more (conditionalized) debug
329        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
330        command thread as well as in Cocoa thread.  Make sure that Hemlock
331        command thread has bindings of command-processing data structures,
332        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
333        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
334        only set by isearch when it exits.
335
3362007-08-23 17:15  gb
337
338        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
339        font name and size; initially, Monaco 9.  (Not yet changeable
340        through preferences panel.) Adjust outline view's row height based
341        on font height.  Set the data cell to "non-editable" (could have
342        done this in IB).  Provide handlers for some menu commands
343        (continue, restarts, exitBreak); no need to validate menu items for
344        them (those commands should be available whenever backtrace dialog
345        is active.)
346
3472007-08-23 17:14  gb
348
349        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
350        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
351
3522007-08-23 17:13  gb
353
354        * cocoa-ide/hemlock/src/package.lisp: Export
355        RECURSIVE-GET-KEY-EVENT.
356
3572007-08-23 17:12  gb
358
359        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
360        read symbol for arglist.  (Should probably be more careful
361        elsewhere, too.)
362
3632007-08-23 17:11  gb
364
365        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
366        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
367        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
368
3692007-08-23 17:10  gb
370
371        * cocoa-ide/hemlock/src/echo.lisp: Don't call
372        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
373        still be pending on the echo area (how ?), and
374        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
375        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
376
3772007-08-23 16:11  gb
378
379        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
380        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
381        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
382        events in some modal loop in a command.  (The idea is that toplevel
383        editing commands inhibit redisplay in the main buffer while they're
384        active; commands which recursively process key events and which may
385        make changes to that buffer should allow redisplay while they're
386        waiting in RECURSIVE-GET-KEY-EVENT.)
387
3882007-08-23 16:10  gb
389
390        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
391        revert.
392
3932007-08-18 19:11  gb
394
395        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
396        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
397        race conditions where two threads try to update a distpatch table
398        index with different {wrapper, combined-method} pairs at the same
399        time.  (As it's written, if the store-conditional fails because a
400        slot that we thought was free is now in use, we simply don't cache
401        the pair and get a cache miss the next time; that may or may not be
402        more work than repeating the whole process would be.)
403       
404        The store-conditional is used on attempt to update the
405        combined-method slot in the pair; the wrapper slot is only updated
406        if the store-conditional succeeds.  Code which probes the wrapper
407        slots shouldn't be confused by a half-updated pair (should never
408        see a non-null wrapper slot and a null combined-method slot.)
409
4102007-08-18 17:11  gb
411
412        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
413        %DECODE-TYPE.
414
4152007-08-18 16:10  gb
416
417        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
418        determine if selection highlighting can be used, since
419        #_class_respondsToSelector requires ObjC-2.0)
420
4212007-08-16 08:22  gb
422
423        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
424        extended selection highlighting if it's supported.
425       
426        Clear the shift bit from key events associated with standard-chars.
427
4282007-08-16 08:20  gb
429
430        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
431        bound to movement commands run different commands.
432       
433        Left-mouse has the :mouse-exit logical attribute.
434
4352007-08-16 08:19  gb
436
437        * cocoa-ide/hemlock/src/buffer.lisp:
438        CURRENT-POINT-COLLAPSING-SELECTION and
439        CURRENT-POINT-EXTENDING-SELECTION replace
440        CURRENT-POINT-FOR-MOVEMENT.
441
4422007-08-16 08:18  gb
443
444        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
445        translation.
446       
447        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
448        selection highlighting under Leopard.
449
4502007-08-16 08:16  gb
451
452        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
453        "shifted" and "unshifted" variants.
454
4552007-08-16 08:15  gb
456
457        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
458        attribute.
459
4602007-08-16 08:14  gb
461
462        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
463        bit for standard-char (and upper-case.) This means that
464        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
465        (in which the shift modifier isn't explicitly set) and that
466        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
467        modifier is set in the latter.)
468
4692007-08-16 08:13  gb
470
471        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
472        the buffer if the line's already indented properly.
473       
474        Movement commands come in two variants: those that collapse and
475        those that extend the selection.
476
4772007-08-16 08:12  gb
478
479        * cocoa-ide/hemlock/src/package.lisp: Export
480        CURRENT-POINT-EXTENDING-SELECTION and
481        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
482        CURRENT-POINT-FOR-MOVEMENT.
483
4842007-08-16 08:10  gb
485
486        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
487        empatically (under Leopard) after successful (non incremental)
488        search.
489       
490        Incremental search also hilites the selection, but doesn't yet
491        manage the selection on failure.
492
4932007-08-16 07:10  gb
494
495        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
496        by invoking #/activateHemlockView on main thread; call
497        deactivate-hemlock-view on the peer.
498       
499        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
500        but I'm fairly sure that this stuff needs to happen on the main
501        thread.
502
5032007-08-09 16:10  gb
504
505        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
506        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
507
5082007-08-07 15:10  gb
509
510        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
511        beginning of buffer and end of buffer.  It's Mac standard, and I
512        use it a lot.  Home was bound to "Help".
513       
514        Make clicking the mouse while incremental searching exit instead of
515        abort, leaving the insertion point where you click instead of where
516        the isearch was started.
517
5182007-08-06 23:10  gb
519
520        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
521        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
522        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
523        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
524        hemlock key event, set the hemlock shift bit if the the Cocoa shift
525        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
526        bit cleared and the keysym downcased (if necessary).  Leave
527        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
528        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
529        deactivates the region ("collapses the selection") if the shift bit
530        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
531        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
532        hopefully all) movement commands, to address ticket:36 .  Define a
533        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
534        to it to address ticket:44 .
535
5362007-08-06 19:10  gb
537
538        * objc-bridge/objc-support.lisp: careful with db stuff
539
5402007-08-04 13:12  gb
541
542        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
543        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
544         (Should maybe do this on mousedown in the echo area, too.) Some
545        indentation changes.
546
5472007-08-04 12:14  gb
548
549        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
550        :abort key event.
551
5522007-08-04 12:13  gb
553
554        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
555        title for show lossage command.
556
5572007-08-04 12:12  gb
558
559        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
560        left mouse down, so that we can use #k"leftdown".
561
5622007-08-04 12:11  gb
563
564        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
565
5662007-08-03 15:10  gb
567
568        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
569
5702007-08-03 10:10  gb
571
572        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
573        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
574
5752007-08-03 09:10  gb
576
577        * level-0/l0-array.lisp: Define list-to-vector.
578
5792007-08-02 07:16  gb
580
581        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
582        #/changeFont:; use targeted messages.  Ensure that font panel picks
583        up the right font.
584
5852007-08-02 07:16  gb
586
587        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
588        default.
589
5902007-08-02 07:15  gb
591
592        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
593        view, echo area) unselectable when activating via Hemlock command.
594        Text views don't use font panel by default; enable/disable font
595        panel when setting text color.
596
5972007-08-02 07:14  gb
598
599        * cocoa-ide/.cvsignore: New.
600
6012007-08-02 07:13  gb
602
603        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
604        CREATE-INTERFACES.
605
6062007-08-02 07:12  gb
607
608        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
609
6102007-08-02 07:11  gb
611
612        * library/parse-ffi.lisp: Don't be verbose about explict struct
613        returns.
614
6152007-08-02 07:10  gb
616
617        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
618        anymore.
619
6202007-07-31 19:10  gb
621
622        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
623        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
624
6252007-07-31 07:12  gb
626
627        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
628        to #o644 (not #o666); make sure that it's actually used when
629        creating the image (even if not prepending a kernel to the image.)
630
6312007-07-31 07:11  gb
632
633        * level-1/l1-application.lisp: When processing --version option,
634        don't write to *terminal-io* (which doesn't exist yet.)
635
6362007-07-22 23:50  gb
637
638        * release-notes.txt: Add more stuff.
639
6402007-07-22 23:11  gb
641
642        * level-1/version.lisp: Bump.
643
6442007-07-22 23:10  gb
645
646        * release-notes.txt: Update for 1.1-pre-070722.
647
6482007-07-22 21:11  gb
649
650        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
651
6522007-07-22 21:10  gb
653
654        * cocoa-ide/README: New file.
655
6562007-07-22 18:51  gb
657
658        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
659        package.
660
6612007-07-22 18:50  gb
662
663        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
664
6652007-07-22 18:49  gb
666
667        * level-1/version.lisp: Bump.
668
6692007-07-22 18:48  gb
670
671        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
672        Allocate callback trampolines via mmap on ppc, too.
673
6742007-07-22 18:47  gb
675
676        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
677        RUN-PROGRAM to merge-pathnames.
678
6792007-07-22 18:46  gb
680
681        * level-1/l1-utils.lisp: Don't define BEEP.
682
6832007-07-22 18:46  gb
684
685        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
686        was counting chars (nchars) twice.
687
6882007-07-22 18:45  gb
689
690        * level-1/l1-streams.lisp: selection-stream changes.
691
6922007-07-22 18:44  gb
693
694        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
695        about restarts in backtrace context.
696
6972007-07-22 18:43  gb
698
699        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
700        can be overridden.
701
7022007-07-22 18:42  gb
703
704        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
705        *MODULE-SEARCH-PATH*.
706
7072007-07-22 18:41  gb
708
709        * level-1/l1-format.lisp: Handling of * format directive when
710        dealing with circularity screws up other things that expect
711        *FORMAT-ARGUMENTS* to share structure with
712        *FORMAT-ORIGINAL-ARGUMENTS*.
713
7142007-07-22 18:40  gb
715
716        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
717        ENSURE-DIRECTORY-NAMESTRING.
718
7192007-07-22 18:40  gb
720
721        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
722        interactive break.
723
7242007-07-22 18:39  gb
725
726        * level-1/l1-error-system.lisp: Stream error context stuff.
727
7282007-07-22 18:38  gb
729
730        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
731        (e.g., as NSExceptions.)
732
7332007-07-22 18:37  gb
734
735        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
736        CLASS-SLOT-INITARGS.
737
7382007-07-22 18:36  gb
739
740        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
741        allocation stuff (which uses mmap to ensure that the callback is in
742        executable memory) here, since it'll be needed on ppc64 leopard, at
743        least.
744
7452007-07-22 18:35  gb
746
747        * level-1/l1-application.lisp: Argument handling and interactive
748        stream initialization happens in a :before method on
749        (toplevel-function application).
750
7512007-07-22 18:34  gb
752
753        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
754        special args/locals, too.
755
7562007-07-22 18:33  gb
757
758        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
759        for backtrace/inspect someday.
760
7612007-07-22 18:33  gb
762
763        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
764
7652007-07-22 18:32  gb
766
767        * lib/macros.lisp: Callbacks that try to do magic foreign error
768        stuff use HANDLER-BIND, not HANDLER-CASE.
769       
770        Other callback-changes to reduce incidental consing sometimes.
771
7722007-07-22 18:31  gb
773
774        * lib/backtrace.lisp: %show-args-and-locals,
775        %stack-frames-in-context: changes for new backtrace presentation.
776
7772007-07-22 18:30  gb
778
779        * lib/compile-ccl.lisp: Remove some duplicate definitions.
780
7812007-07-22 18:29  gb
782
783        * lib/describe.lisp: Some (signigicant) stack-frame changes.
784
7852007-07-22 18:28  gb
786
787        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
788
7892007-07-22 18:27  gb
790
791        * lib/arglist.lisp: Provide -some- arglist info for special
792        operators.  ARG-NAMES-FROM-MAP.
793
7942007-07-22 18:27  gb
795
796        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
797
7982007-07-22 18:26  gb
799
800        * lib/source-files.lisp: Comment formatting.
801
8022007-07-22 18:25  gb
803
804        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
805        to provide context.
806
8072007-07-22 18:24  gb
808
809        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
810        get confused by null register values, etc.
811
8122007-07-22 18:23  gb
813
814        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
815        not ppc32/ppc64.
816
8172007-07-22 18:22  gb
818
819        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
820        64-bit key-scrambling stuff.
821
8222007-07-22 18:21  gb
823
824        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
825
8262007-07-22 18:21  gb
827
828        * level-0/l0-utils.lisp: s32->u32, u32->s32.
829
8302007-07-22 18:20  gb
831
832        * level-0/l0-error.lisp: foreign exception error stuff.
833
8342007-07-22 18:19  gb
835
836        * level-1/l1-sockets.lisp: Sockets created with :format :binary
837        don't have element-type of character, though this crap is all
838        pretty nebulous.
839
8402007-07-22 18:18  gb
841
842        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
843
8442007-07-22 18:17  gb
845
846        * library/pty.lisp: set-pty-raw.
847
8482007-07-22 18:16  gb
849
850        * library/hemlock.lisp: Moved elsewhere.
851
8522007-07-22 18:15  gb
853
854        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
855        frames.
856
8572007-07-22 18:14  gb
858
859        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
860
8612007-07-22 18:14  gb
862
863        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
864        exception bit on interrupt.
865
8662007-07-22 18:13  gb
867
868        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
869        tcr flag bits, including new one for foreign exceptions.
870
8712007-07-22 18:12  gb
872
873        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
874
8752007-07-22 18:11  gb
876
877        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
878        exceptions.
879
8802007-07-22 18:10  gb
881
882        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
883        stack for pthread.  Foreign exception callbacks: put some 0s on the
884        stack for callback.
885
8862007-07-22 18:09  gb
887
888        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
889
8902007-07-22 18:08  gb
891
892        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
893        ensure_stack_limit(): if stack size is constrained by limits, don't
894        exceed those limits.
895
8962007-07-22 18:08  gb
897
898        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
899
9002007-07-22 18:07  gb
901
902        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
903
9042007-07-22 18:06  gb
905
906        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
907
9082007-07-22 18:03  gb
909
910        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
911        OpenMCL.app/Contents/MacOS/dppccl,
912        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
913        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
914        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
915        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
916        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
917        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
918        ib,
919        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
920        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
921        cts.nib,
922        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
923        lasses.nib,
924        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
925        nfo.nib,
926        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
927        eyedobjects.nib,
928        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
929        nib,
930        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
931        ,
932        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
933        ects.nib,
934        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
935        .nib,
936        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
937        b,
938        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
939        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
940        OpenMCL.app/Contents/Resources/Help/index.html,
941        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
942        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
943        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
944        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
945        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
946        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
947        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
948        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
949        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
950        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
951        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
952        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
953        rings,
954        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
955        /classes.nib,
956        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
957        /info.nib,
958        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
959        /keyedobjects.nib,
960        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
961        ctor.nib/classes.nib,
962        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
963        ctor.nib/info.nib,
964        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
965        ctor.nib/keyedobjects.nib,
966        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
967        b/classes.nib,
968        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
969        b/info.nib,
970        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
971        b/keyedobjects.nib,
972        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
973        ib/classes.nib,
974        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
975        ib/info.nib,
976        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
977        ib/keyedobjects.nib,
978        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
979        ib/classes.nib,
980        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
981        ib/info.nib,
982        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
983        ib/keyedobjects.nib,
984        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
985        nib/classes.nib,
986        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
987        nib/info.nib,
988        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
989        nib/keyedobjects.nib,
990        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
991        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
992        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
993        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
994        cocoa-ide/hemlock/hemlock11.cursor,
995        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
996        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
997        cocoa-ide/hemlock/doc/.cvsignore,
998        cocoa-ide/hemlock/doc/cim/.cvsignore,
999        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1000        cocoa-ide/hemlock/doc/cim/cim.mss,
1001        cocoa-ide/hemlock/doc/misc/.cvsignore,
1002        cocoa-ide/hemlock/doc/misc/compilation.order,
1003        cocoa-ide/hemlock/doc/misc/hemlock.log,
1004        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1005        cocoa-ide/hemlock/doc/misc/notes.txt,
1006        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1007        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1008        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1009        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1010        cocoa-ide/hemlock/doc/user/.cvsignore,
1011        cocoa-ide/hemlock/doc/user/commands.mss,
1012        cocoa-ide/hemlock/doc/user/intro.mss,
1013        cocoa-ide/hemlock/doc/user/lisp.mss,
1014        cocoa-ide/hemlock/doc/user/mail.mss,
1015        cocoa-ide/hemlock/doc/user/netnews.mss,
1016        cocoa-ide/hemlock/doc/user/special-modes.mss,
1017        cocoa-ide/hemlock/doc/user/user.mss,
1018        cocoa-ide/hemlock/maint/.cvsignore,
1019        cocoa-ide/hemlock/maint/publish,
1020        cocoa-ide/hemlock/resources/.cvsignore,
1021        cocoa-ide/hemlock/resources/XKeysymDB,
1022        cocoa-ide/hemlock/resources/mh-scan,
1023        cocoa-ide/hemlock/resources/spell-dictionary.text,
1024        cocoa-ide/hemlock/src/.cvsignore,
1025        cocoa-ide/hemlock/src/bindings-gb.lisp,
1026        cocoa-ide/hemlock/src/bindings.lisp,
1027        cocoa-ide/hemlock/src/buffer.lisp,
1028        cocoa-ide/hemlock/src/charmacs.lisp,
1029        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1030        cocoa-ide/hemlock/src/command.lisp,
1031        cocoa-ide/hemlock/src/comments.lisp,
1032        cocoa-ide/hemlock/src/completion.lisp,
1033        cocoa-ide/hemlock/src/cursor.lisp,
1034        cocoa-ide/hemlock/src/decls.lisp,
1035        cocoa-ide/hemlock/src/defsyn.lisp,
1036        cocoa-ide/hemlock/src/doccoms.lisp,
1037        cocoa-ide/hemlock/src/echo.lisp,
1038        cocoa-ide/hemlock/src/echocoms.lisp,
1039        cocoa-ide/hemlock/src/edit-defs.lisp,
1040        cocoa-ide/hemlock/src/filecoms.lisp,
1041        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1042        cocoa-ide/hemlock/src/font.lisp,
1043        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1044        cocoa-ide/hemlock/src/htext1.lisp,
1045        cocoa-ide/hemlock/src/htext2.lisp,
1046        cocoa-ide/hemlock/src/htext3.lisp,
1047        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1048        cocoa-ide/hemlock/src/indent.lisp,
1049        cocoa-ide/hemlock/src/interp.lisp,
1050        cocoa-ide/hemlock/src/kbdmac.lisp,
1051        cocoa-ide/hemlock/src/key-event.lisp,
1052        cocoa-ide/hemlock/src/keysym-defs.lisp,
1053        cocoa-ide/hemlock/src/killcoms.lisp,
1054        cocoa-ide/hemlock/src/line.lisp,
1055        cocoa-ide/hemlock/src/linimage.lisp,
1056        cocoa-ide/hemlock/src/lispdep.lisp,
1057        cocoa-ide/hemlock/src/lispmode.lisp,
1058        cocoa-ide/hemlock/src/listener.lisp,
1059        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1060        cocoa-ide/hemlock/src/modeline.lisp,
1061        cocoa-ide/hemlock/src/morecoms.lisp,
1062        cocoa-ide/hemlock/src/package.lisp,
1063        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1064        cocoa-ide/hemlock/src/register.lisp,
1065        cocoa-ide/hemlock/src/ring.lisp,
1066        cocoa-ide/hemlock/src/rompsite.lisp,
1067        cocoa-ide/hemlock/src/search1.lisp,
1068        cocoa-ide/hemlock/src/search2.lisp,
1069        cocoa-ide/hemlock/src/searchcoms.lisp,
1070        cocoa-ide/hemlock/src/srccom.lisp,
1071        cocoa-ide/hemlock/src/streams.lisp,
1072        cocoa-ide/hemlock/src/struct.lisp,
1073        cocoa-ide/hemlock/src/syntax.lisp,
1074        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1075        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1076        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1077        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1078        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1079        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1080        cocoa-ide/hemlock/src/archive/bufed.lisp,
1081        cocoa-ide/hemlock/src/archive/debug.lisp,
1082        cocoa-ide/hemlock/src/archive/dired.lisp,
1083        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1084        cocoa-ide/hemlock/src/archive/display.lisp,
1085        cocoa-ide/hemlock/src/archive/dylan.lisp,
1086        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1087        cocoa-ide/hemlock/src/archive/group.lisp,
1088        cocoa-ide/hemlock/src/archive/highlight.lisp,
1089        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1090        cocoa-ide/hemlock/src/archive/input.lisp,
1091        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1092        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1093        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1094        cocoa-ide/hemlock/src/archive/mh.lisp,
1095        cocoa-ide/hemlock/src/archive/netnews.lisp,
1096        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1097        cocoa-ide/hemlock/src/archive/pascal.lisp,
1098        cocoa-ide/hemlock/src/archive/rcs.lisp,
1099        cocoa-ide/hemlock/src/archive/screen.lisp,
1100        cocoa-ide/hemlock/src/archive/scribe.lisp,
1101        cocoa-ide/hemlock/src/archive/shell.lisp,
1102        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1103        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1104        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1105        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1106        cocoa-ide/hemlock/src/archive/srccom.lisp,
1107        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1108        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1109        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1110        cocoa-ide/hemlock/src/archive/window.lisp,
1111        cocoa-ide/hemlock/src/archive/winimage.lisp,
1112        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1113        cocoa-ide/hemlock/src/elisp/.cvsignore,
1114        cocoa-ide/hemlock/src/elisp/base.lisp,
1115        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1116        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1117        cocoa-ide/hemlock/src/elisp/compile.lisp,
1118        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1119        cocoa-ide/hemlock/src/elisp/implementation-needed,
1120        cocoa-ide/hemlock/src/elisp/internals.lisp,
1121        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1122        cocoa-ide/hemlock/src/elisp/packages.lisp,
1123        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1124        cocoa-ide/hemlock/src/spell/.cvsignore,
1125        cocoa-ide/hemlock/src/spell/build.lisp,
1126        cocoa-ide/hemlock/src/spell/classes.lisp,
1127        cocoa-ide/hemlock/src/spell/constants.lisp,
1128        cocoa-ide/hemlock/src/spell/correlate.lisp,
1129        cocoa-ide/hemlock/src/spell/flags.lisp,
1130        cocoa-ide/hemlock/src/spell/hashing.lisp,
1131        cocoa-ide/hemlock/src/spell/io.lisp,
1132        cocoa-ide/hemlock/src/spell/package.lisp,
1133        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1134        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1135        cocoa-ide/hemlock/src/spell/spell.asd,
1136        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1137        cocoa-ide/hemlock/src/tty/.cvsignore,
1138        cocoa-ide/hemlock/src/tty/termcap.lisp,
1139        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1140        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1141        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1142        cocoa-ide/hemlock/src/wire/.cvsignore,
1143        cocoa-ide/hemlock/src/wire/Notes,
1144        cocoa-ide/hemlock/src/wire/package.lisp,
1145        cocoa-ide/hemlock/src/wire/port.lisp,
1146        cocoa-ide/hemlock/src/wire/remote.lisp,
1147        cocoa-ide/hemlock/src/wire/wire.lisp,
1148        cocoa-ide/hemlock/unused/.cvsignore,
1149        cocoa-ide/hemlock/unused/bit-stream.lisp,
1150        cocoa-ide/hemlock/unused/clx-ext.lisp,
1151        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1152        cocoa-ide/hemlock/unused/gosmacs.lisp,
1153        cocoa-ide/hemlock/unused/hacks.lisp,
1154        cocoa-ide/hemlock/unused/hemcom.lisp,
1155        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1156        cocoa-ide/hemlock/unused/keytran.lisp,
1157        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1158        cocoa-ide/hemlock/unused/spell-build.lisp,
1159        cocoa-ide/hemlock/unused/struct-ed.lisp,
1160        cocoa-ide/hemlock/unused/tty-stream.lisp,
1161        cocoa-ide/hemlock/website/.cvsignore,
1162        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1163        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1164        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1165        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1166        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1167        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1168        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1169        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1170        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1171        examples/objc-clos.lisp, examples/objc-package.lisp,
1172        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1173        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1174        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1175        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1176        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1177        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1178        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1179        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1180        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1181        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1182        hemlock/doc/misc/perq-hemlock.log,
1183        hemlock/doc/misc/things-to-do.txt,
1184        hemlock/doc/scribe-converter/.cvsignore,
1185        hemlock/doc/scribe-converter/NOTES,
1186        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1187        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1188        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1189        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1190        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1191        hemlock/maint/publish, hemlock/resources/.cvsignore,
1192        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1193        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1194        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1195        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1196        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1197        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1198        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1199        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1200        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1201        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1202        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1203        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1204        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1205        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1206        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1207        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1208        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1209        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1210        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1211        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1212        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1213        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1214        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1215        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1216        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1217        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1218        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1219        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1220        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1221        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1222        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1223        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1224        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1225        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1226        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1227        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1228        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1229        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1230        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1231        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1232        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1233        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1234        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1235        hemlock/src/table.lisp, hemlock/src/text.lisp,
1236        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1237        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1238        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1239        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1240        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1241        hemlock/src/elisp/base.lisp,
1242        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1243        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1244        hemlock/src/elisp/hemlock-shims.lisp,
1245        hemlock/src/elisp/implementation-needed,
1246        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1247        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1248        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1249        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1250        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1251        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1252        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1253        hemlock/src/spell/spell-aug.lisp,
1254        hemlock/src/spell/spell-dictionary.text,
1255        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1256        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1257        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1258        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1259        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1260        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1261        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1262        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1263        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1264        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1265        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1266        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1267        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1268        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1269        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1270        objc-bridge/fake-cfbundle-path.lisp,
1271        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1272        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1273        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1274        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1275        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1276        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1277        things moved from "examples" to one of these directories,
1278        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1279        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1280        "ide-1.0" branch for details.
1281
12822007-06-15 19:10  gb
1283
1284        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1285
12862007-06-15 14:10  gb
1287
1288        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1289        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1290        (shouldn't get here if we're catching that upstream, but ...)
1291
12922007-06-01 08:34  gb
1293
1294        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1295        caught most places.
1296
12972007-06-01 08:33  gb
1298
1299        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1300        if it can't find the package, accepts a stream argument in order to
1301        signal that type of error.  (Note that this has never been
1302        recoverable in general, especially in the case where the input
1303        stream is *terminal-io* or shares its input stream.)
1304
13052007-06-01 08:32  gb
1306
1307        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1308        reporting themselves.
1309
13102007-06-01 08:31  gb
1311
1312        * level-1/l1-error-system.lisp: Define and use
1313        STREAM-ERROR-CONTEXT.
1314
13152007-06-01 08:30  gb
1316
1317        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1318        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1319        probably have been caught earlier.
1320
13212007-06-01 08:29  gb
1322
1323        * level-1/l1-streams.lisp: Try to provide some context -
1324        "surrounding characters" - for reader/stream errors on character
1325        input streams.
1326
13272007-06-01 08:28  gb
1328
1329        * level-1/l1-unicode.lisp: Get number of args right in call to
1330        STRING-ENCODED-LENGTH-IN-BYTES from
1331        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1332
13332007-06-01 08:28  gb
1334
1335        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1336        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1337        order.  Both functions are usually open-coded (and the inlined
1338        versions seem to be OK), but the ObjC bridge funcalls these
1339        functions when getting/setting foreign slots of the appropriate
1340        type.
1341
13422007-06-01 08:27  gb
1343
1344        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1345        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1346        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1347
13482007-06-01 08:26  gb
1349
1350        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1351        all of it" case in %CSTR-POINTER; deal with all other cases in
1352        %CSTR-SEGMENT-POINTER.
1353
13542007-06-01 08:25  gb
1355
1356        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1357        under return address, exception callback frame (xcf) on stack.
1358       
1359        handle-udf-call: don't try to fix up the stack if we try to
1360        continue; let kernel deal with this after the callback.
1361
13622007-06-01 08:24  gb
1363
1364        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1365        return address on the top of the stack when this is entered
1366        (#-of-arguments traps).  Put it in the right place when building
1367        the frame.
1368       
1369        create_exception_callback_frame: look for tra on top of lisp stack,
1370        not in register (usually.)
1371       
1372        handle_error(): if we return after calling out for int #xc7 (call
1373        to undefined function), fix up the stack and other registers so
1374        that we can return the value(s) returned by the lisp-side handler.
1375        (It's hard for the lisp-side handler to do the stack manipulation,
1376        because of the xcf on the stack and because of the need to deal
1377        with the return address on the stack.)
1378
13792007-06-01 08:23  gb
1380
1381        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1382        lea/jmp: push ra0 on stack before trap, for the benefit of
1383        create_exception_callback_frame().
1384
13852007-06-01 08:22  gb
1386
1387        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1388
13892007-06-01 08:22  gb
1390
1391        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1392        write a BOM here.
1393
13942007-06-01 08:21  gb
1395
1396        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1397        since the switch to the new tra scheme.
1398
13992007-06-01 08:19  gb
1400
1401        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1402        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1403
14042007-05-12 18:27  gb
1405
1406        * release-notes.txt: Update for 070512.
1407
14082007-05-12 18:27  gb
1409
1410        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1411
14122007-05-12 18:26  gb
1413
1414        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1415
14162007-05-12 18:25  gb
1417
1418        * level-1/version.lisp: Bump.
1419
14202007-05-12 18:24  gb
1421
1422        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1423        heap by more than what we need if GC is obviously disabled.
1424
14252007-05-12 18:23  gb
1426
1427        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1428        suppress overflow checking in some cases.
1429
14302007-05-12 18:22  gb
1431
1432        * compiler/X86/x862.lisp: Fix indentation.
1433
14342007-05-12 18:22  gb
1435
1436        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1437        beyond segment if GC (obviously) disabled.
1438
14392007-05-12 18:21  gb
1440
1441        * level-1/l1-streams.lisp: Fix typo.
1442
14432007-05-12 18:20  gb
1444
1445        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1446        separate character encode/decode limits.
1447
14482007-05-12 18:19  gb
1449
1450        * level-1/l1-unicode.lisp: Start to bootstrap separate
1451        encode/decode limits.
1452
14532007-05-12 18:18  gb
1454
1455        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1456        nonsense when referencing mxcsr in debug_show_fpu().
1457
14582007-05-12 18:17  gb
1459
1460        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1461        earlier.  Sheesh.
1462
14632007-05-12 18:17  gb
1464
1465        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1466
14672007-05-12 18:16  gb
1468
1469        * level-1/version.lisp: Bump, for now.
1470
14712007-05-12 18:15  gb
1472
1473        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1474        ABI version.
1475
14762007-05-12 18:14  gb
1477
1478        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1479        new TRA interpretation.
1480
14812007-05-12 18:13  gb
1482
1483        * lisp-kernel/x86-spjump64.s: nmkunwind.
1484
14852007-05-12 18:12  gb
1486
1487        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1488        nMake_Catch handles return addresses on stack.  repret, for use
1489        when a one-byte ret instruction is a branch target or is preceded
1490        by a conditional branch.
1491
14922007-05-12 18:11  gb
1493
1494        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1495        exception contexts.
1496
14972007-05-12 18:11  gb
1498
1499        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1500        exception context; new TRA handling.
1501
15022007-05-12 18:10  gb
1503
1504        * lisp-kernel/x86-exceptions.c: New tra handling.
1505        new_heap_segment: try to avoid requesting too much when user sets
1506        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1507        down to fault handler, don't call out to lisp on faults in foreign
1508        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1509
15102007-05-12 18:08  gb
1511
1512        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1513        assignments.
1514
15152007-05-12 18:07  gb
1516
1517        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1518        sequence.
1519
15202007-05-12 18:06  gb
1521
1522        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1523
15242007-05-12 18:05  gb
1525
1526        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1527        that're branch targets or that follow conditional branches.
1528
15292007-05-12 18:04  gb
1530
1531        * lisp-kernel/thread_manager.c: Conditionalize for
1532        USE_MACH_EXCEPTION_LOCK.
1533
15342007-05-12 18:03  gb
1535
1536        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1537
15382007-05-12 18:02  gb
1539
1540        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1541        explicit blr.
1542
15432007-05-12 18:01  gb
1544
1545        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1546         Gee, I hope that works.
1547
15482007-05-12 18:00  gb
1549
1550        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1551
15522007-05-12 17:59  gb
1553
1554        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1555        using the mechanism.
1556
15572007-05-12 17:59  gb
1558
1559        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1560        extend with (possibly very large) lisp_heap_gc_threshold, try
1561        smaller values.
1562       
1563        Pass "old_valence" to exception handlers; don't call out to lisp on
1564        memory faults from foreign code.
1565
15662007-05-12 17:58  gb
1567
1568        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1569
15702007-05-12 17:57  gb
1571
1572        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1573        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1574        be correct/necessary.
1575
15762007-05-12 17:56  gb
1577
1578        * lisp-kernel/lisp-debug.c: lisp register display changes for
1579        x86-64.  Get FPU display working on x86-64.
1580
15812007-05-12 17:55  gb
1582
1583        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1584        calling-sequence change.
1585
15862007-05-12 17:54  gb
1587
1588        * lisp-kernel/image.h: New ABI version.
1589
15902007-05-12 17:54  gb
1591
1592        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1593        could; if only I could ...
1594
15952007-05-12 17:53  gb
1596
1597        * lib/x8664env.lisp: More imm temps! (one more ...).
1598
15992007-05-12 17:52  gb
1600
1601        * lib/nfcomp.lisp: Bump current fasl version.
1602
16032007-05-12 17:51  gb
1604
1605        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1606        in cross-compiled code.
1607
16082007-05-12 17:50  gb
1609
1610        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1611        interface dir, because of cross-compilation issues.
1612
16132007-05-12 17:49  gb
1614
1615        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1616        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1617
16182007-05-12 17:49  gb
1619
1620        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1621        transition.
1622
16232007-05-12 17:48  gb
1624
1625        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1626
16272007-05-12 17:47  gb
1628
1629        * lib/encapsulate.lisp: Add a comment.
1630
16312007-05-12 17:46  gb
1632
1633        * library/hash-cons.lisp: Very small lap change.
1634
16352007-05-12 17:45  gb
1636
1637        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1638        %FIXNUM-SET-MACPTR elsewhere.
1639
16402007-05-12 17:44  gb
1641
1642        * level-1/linux-files.lisp: File-mapped vectors.
1643
16442007-05-12 17:43  gb
1645
1646        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1647        :new-version if pathname-version of filename is :NEWEST.
1648
16492007-05-12 17:43  gb
1650
1651        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1652        with a CONDITION object.
1653
16542007-05-12 17:42  gb
1655
1656        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1657
16582007-05-12 17:41  gb
1659
1660        * level-1/l1-pathnames.lisp: If there's no host component in a
1661        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1662
16632007-05-12 17:40  gb
1664
1665        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1666        listener stack sizes now static.
1667
16682007-05-12 17:39  gb
1669
1670        * level-1/l1-files.lisp: Pathname arcana.
1671
16722007-05-12 17:38  gb
1673
1674        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1675        SIGINT.
1676
16772007-05-12 17:38  gb
1678
1679        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1680        changes.
1681
16822007-05-12 17:37  gb
1683
1684        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1685       
1686        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1687
16882007-05-12 17:36  gb
1689
1690        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1691
16922007-05-12 17:35  gb
1693
1694        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1695        here.
1696
16972007-05-12 17:34  gb
1698
1699        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1700
17012007-05-12 17:33  gb
1702
1703        * level-0/X86/x86-utils.lisp: New calling sequence.
1704
17052007-05-12 17:32  gb
1706
1707        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1708        EQL.
1709
17102007-05-12 17:32  gb
1711
1712        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1713        be careful with %rcx (now %imm2) in shift instructions.
1714
17152007-05-12 17:30  gb
1716
1717        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1718        sequence.
1719
17202007-05-12 17:29  gb
1721
1722        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1723        new-calling-sequence changes.
1724
17252007-05-12 17:27  gb
1726
1727        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1728        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1729        %temp2, and no need to be so careful with it.
1730
17312007-05-12 17:26  gb
1732
1733        * compiler/vinsn.lisp: global label-valued temporaries.
1734
17352007-05-12 17:25  gb
1736
1737        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1738
17392007-05-12 17:24  gb
1740
1741        * compiler/nx0.lisp: Try to do a little type inference for more
1742        flavors of AREF.
1743
17442007-05-12 17:23  gb
1745
1746        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1747        afunc (or equivalent) as a non-nil second value.
1748
17492007-05-12 17:22  gb
1750
1751        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1752        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1753        less nasty.
1754
17552007-05-12 17:21  gb
1756
1757        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1758        calling sequence, new tra/talign scheme.
1759
17602007-05-12 17:21  gb
1761
1762        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1763        rip)).
1764
17652007-05-12 17:20  gb
1766
1767        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1768        rip-relative label refs.
1769
17702007-05-12 17:19  gb
1771
1772        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1773        support :talign directive in vinsn templates.
1774
17752007-05-12 17:18  gb
1776
1777        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1778        is a register ...
1779
17802007-05-12 17:17  gb
1781
1782        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1783        for most things, except calls to subprims that manipulate the
1784        stack.
1785
17862007-05-12 17:16  gb
1787
1788        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1789        cross-compilation with x86-64 targets a little easier, by using a
1790        cross-ftd interface directory.
1791
17922007-05-12 17:16  gb
1793
1794        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1795        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1796        scheme.
1797
17982007-05-12 17:15  gb
1799
1800        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1801        unwind-protect uses nmkunwind (more happens out-of-line.)
1802
18032007-05-12 17:14  gb
1804
1805        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1806
18072007-05-12 17:13  gb
1808
1809        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1810
18112007-05-12 17:12  gb
1812
1813        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1814
18152007-05-12 17:11  gb
1816
1817        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1818        %GET-KERNEL-GLOBAL-PTR actually work.
1819
18202007-05-07 19:10  gb
1821
1822        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1823        returns a CONS, signal the right flavor of TYPE-ERROR if it
1824        doesn't.
1825
18262007-05-05 18:10  gb
1827
1828        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1829        the hash table, it tries to enable the GC before doing so.
1830
18312007-05-04 22:10  gb
1832
1833        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1834        finds in the environment, not just non-nil.
1835
18362007-05-01 18:10  gb
1837
1838        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1839        computation for GC-VERBOSE entry.
1840
18412007-05-01 06:11  gb
1842
1843        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1844        utf-16 variants.
1845       
1846        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1847        function.
1848
18492007-05-01 06:10  gb
1850
1851        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1852        darwin ppc64 thread state structure, just like Apple does.  Can I
1853        blame them for getting this wrong, please ?
1854       
1855        Use the right argument names in ppc64 cmain callback; can't blame
1856        Apple.
1857
18582007-04-30 23:12  gb
1859
1860        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1861        on Darwin, and should probably be removed completely.  Now that
1862        it's explicitly extern, don't try to reference it at runtime on
1863        linuxppc.
1864
18652007-04-30 23:11  gb
1866
1867        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1868        referenced at runtime and explicitly extern, so make sure that it's
1869        initialized on all platforms.
1870
18712007-04-30 23:10  gb
1872
1873        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1874        oxymoron - is specific to Darwin.
1875
18762007-04-21 00:10  gb
1877
1878        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1879        directory after translating logical pathnames; it's generally
1880        meaningless to do PROBE-FILE on the directory component of a
1881        logical pathname.
1882
18832007-04-19 15:10  gb
1884
1885        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1886        if it conflicts with an immediate temporary (we'll need all the imm
1887        temps we have on x86-64.)
1888
18892007-04-17 20:10  gb
1890
1891        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1892        version of recent aset2/aset3 register-conflict changes.
1893
18942007-04-16 15:10  gb
1895
1896        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1897        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1898
18992007-04-16 14:11  gb
1900
1901        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1902        :signed-doublewod.
1903
19042007-04-16 13:10  gb
1905
1906        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1907        Memory-fault errors on PPC, too.
1908
19092007-04-16 04:34  gb
1910
1911        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1912        renaming nonsense.
1913
19142007-04-16 02:12  gb
1915
1916        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1917
19182007-04-16 02:11  gb
1919
1920        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1921
19222007-04-16 02:10  gb
1923
1924        * level-1/l1-error-system.lisp: Change wording of
1925        INVALID-MEMORY-ACCESS error message, a little.
1926
19272007-04-16 01:13  gb
1928
1929        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1930        memory faults.
1931
19322007-04-16 01:12  gb
1933
1934        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1935        now.
1936
19372007-04-16 01:11  gb
1938
1939        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1940        INVALID-MEMORY-ACCESS condition.
1941
19422007-04-16 01:10  gb
1943
1944        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1945
19462007-04-15 19:11  gb
1947
1948        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1949        aset2/aset3 changes.
1950
19512007-04-15 19:10  gb
1952
1953        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1954        it's an imm-reg; we need another imm-reg to do some index
1955        calculations.
1956
19572007-04-14 18:10  gb
1958
1959        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
1960        unscramble what it means for an interrupt to be pending on x86-64.
1961
19622007-04-14 00:13  gb
1963
1964        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
1965        generated when it is in ... unmentionable OS releases.
1966
19672007-04-14 00:11  gb
1968
1969        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
1970        work around laughable Apple ld64 gibberish.
1971
19722007-04-12 02:11  gb
1973
1974        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
1975        two-dimensional arrays: need to target specific registers if array
1976        has element type T.
1977
19782007-04-12 02:10  gb
1979
1980        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
1981        appropriate, not :x86-64 twice.
1982
19832007-04-11 05:10  gb
1984
1985        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
1986        for bivalent streams.
1987       
1988        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
1989        maintain the element-type separately, just look in ioblock.
1990        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
1991
19922007-04-10 22:10  gb
1993
1994        * lisp-kernel/x86-spentry64.s: Branch at
1995        C(egc_store_node_conditional_success_test) should bracnch
1996        backwards, not forwards.  (This was leading to spurious
1997        "<something> is not a proper list" errors, because the next label
1998        named "0" is in middle of the the _SPprogvsage code that tests for
1999        a proper list.)
2000
20012007-04-10 00:11  gb
2002
2003        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2004        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2005        RLET or equivalent to avoid making GCable pointers for ObjC
2006        dispatch function args; trust the compiler to do that for us.
2007
20082007-04-10 00:10  gb
2009
2010        * examples/bridge.lisp: If any method defined on a message passes a
2011        structure by value, install a compiler macro on the dispatch
2012        function.
2013       
2014        In that compiler, look for apparent calls to know structure
2015        constructors; replace those with calls to the corresponding
2016        initialization function, and stack-allocate a structure instance
2017        around the call.  (Suggested by Kevin Reid, and something that
2018        SEND/SLET did - sort of - that the new approach didn't.)
2019       
2020        Keep track of info about common foreign structs (initializer,
2021        constructor, etc.) to make doing stuff like this easier.
2022
20232007-04-09 16:10  gb
2024
2025        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2026        the result of sending the init message is a null pointer, return a
2027        null pointer.
2028
20292007-04-09 00:10  gb
2030
2031        * release-notes.txt: Update for 070408.
2032       
2033        (Yes, it's 070409 here already ...)
2034
20352007-04-08 15:12  gb
2036
2037        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2038
20392007-04-08 15:10  gb
2040
2041        * xdump/faslenv.lisp: Bump min fasl version.
2042
20432007-04-08 14:11  gb
2044
2045        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2046        jump table, to work around (still more) Apple ld64 nonsense.
2047
20482007-04-08 13:14  gb
2049
2050        * lib/nfcomp.lisp: Bump current fasl version.
2051
20522007-04-08 13:13  gb
2053
2054        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2055
20562007-04-08 13:12  gb
2057
2058        * xdump/faslenv.lisp: Bump max fasl version.
2059
20602007-04-08 13:11  gb
2061
2062        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2063        people who try to build this kernel on an x86 mac will take longer
2064        to realize that that's usually a bad idea.
2065
20662007-04-08 12:09  gb
2067
2068        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2069        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2070        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2071        cocoa-window.lisp, cocoa.lisp:
2072        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2073       
2074        Some changes in font, nsstring stuff to avoid using deprecated
2075        featurs.
2076
20772007-04-08 12:07  gb
2078
2079        * examples/: webkit.lisp, addressbook.lisp:
2080        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2081       
2082        Use OBJC:LOAD-FRAMEWORK.
2083
20842007-04-08 12:06  gb
2085
2086        * examples/tiny.lisp:
2087        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2088
20892007-04-08 12:05  gb
2090
2091        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2092        rubix.lisp:
2093        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2094       
2095        Handle CGFLOAT issues in mouse event handlers.
2096
20972007-04-08 12:04  gb
2098
2099        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2100       
2101        Define "foreign struct classes" for several common structure types
2102        (rectangle, point, size); generate inlined accessors for their
2103        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2104        macros.
2105       
2106        #/ reader macro: reads a string containing "constituent" characters
2107        (including #\:), preserving case.  Does a little bit of
2108        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2109        package.
2110       
2111        Try to deal with cases where foreign type info may be parsed or
2112        unparsed.
2113       
2114        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2115         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2116        message info, tries to determine ambiguity, calls signature
2117        function (possibly after trying to resolve ambiguity.)
2118       
2119        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2120        calling a signature function that knows how to dispatch to SUPER
2121        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2122       
2123        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2124        OBJC-DISPATCH-FUNCTION.
2125       
2126        Handle PROTOCOLs differently in ambiguous SEND.
2127
21282007-04-08 12:04  gb
2129
2130        * examples/objc-runtime.lisp: Compile message send functions per
2131        signature.  Handle vararg message sends, partly at runtime.  INIT
2132        messages just have their signature info precomputed.  Defining a
2133        named OBJC-CLASS makes the class name a static variable whose value
2134        is the class (and likewise for the metaclass.)
2135        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2136        OBJC:DEFMETHOD and support for it.
2137
21382007-04-08 12:03  gb
2139
2140        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2141         Avoid some deprecated C-string stuff (but wimp out and assume
2142        ASCII.) Keep track of objc-class-count, provide
2143        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2144        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2145        etc. elsewhere.
2146
21472007-04-08 12:02  gb
2148
2149        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2150        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2151        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2152        about as lightweight as MAKE-OBJC-INSTANCE.)
2153
21542007-04-08 12:01  gb
2155
2156        * examples/name-translation.lisp:
2157        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2158        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2159
21602007-04-08 12:00  gb
2161
2162        * examples/objc-package.lisp: New file; export more stuff.  Import
2163        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2164        pseudo-GFs.
2165
21662007-04-08 11:59  gb
2167
2168        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2169        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2170        Intern integer types up to 64 bits.
2171
21722007-04-08 11:59  gb
2173
2174        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2175        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2176        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2177        COPY-RECORD.
2178
21792007-04-08 11:58  gb
2180
2181        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2182        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2183        missing brackets.
2184
21852007-04-08 11:57  gb
2186
2187        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2188        not Darwin.  In Darwin, evactuate off of the lisp stack while
2189        interrupts are still disabled.
2190
21912007-04-08 11:56  gb
2192
2193        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2194        (where Apple hasn't yet invented the notion that it needs to be
2195        thread-specific.)
2196
21972007-04-08 11:55  gb
2198
2199        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2200        destroying TCR.
2201
22022007-04-08 11:54  gb
2203
2204        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2205        worked around an old Darwin bug.
2206
22072007-04-08 11:53  gb
2208
2209        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2210
22112007-04-08 11:52  gb
2212
2213        * lisp-kernel/image.c: Don't nuke null pointers.
2214
22152007-04-08 11:52  gb
2216
2217        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2218
22192007-04-08 11:51  gb
2220
2221        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2222        of macptr.domain, macptr.type.
2223
22242007-04-08 11:50  gb
2225
2226        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2227
22282007-04-08 11:49  gb
2229
2230        * library/lispequ.lisp: add pkg.intern-hook to package.
2231
22322007-04-08 11:48  gb
2233
2234        * lib/describe.lisp: Start trying to conditionalize some of the
2235        stack-frame inspector stuff.
2236
22372007-04-08 11:48  gb
2238
2239        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2240        64-bit word components, with FP fields passed in registers.  This
2241        requires some special handling ("hybrid" parameters) in the
2242        compiler and %FF-CALL.
2243
22442007-04-08 11:47  gb
2245
2246        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2247        endianness.
2248
22492007-04-08 11:46  gb
2250
2251        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2252
22532007-04-08 11:45  gb
2254
2255        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2256        in %SOURCE-FILES-LIKE-EM.
2257
22582007-04-08 11:44  gb
2259
2260        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2261
22622007-04-08 11:43  gb
2263
2264        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2265        MAKE-XREF-ENTRY.
2266
22672007-04-08 11:43  gb
2268
2269        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2270
22712007-04-08 11:42  gb
2272
2273        * level-1/version.lisp: Bump; new snapshots tomorrow.
2274
22752007-04-08 11:41  gb
2276
2277        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2278
22792007-04-08 11:40  gb
2280
2281        * level-1/linux-files.lisp: Very long timeout for
2282        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2283        if we have to wait at all.
2284       
2285        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2286       
2287        Make PIPE code slightly easier to read.
2288
22892007-04-08 11:39  gb
2290
2291        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2292
22932007-04-08 11:38  gb
2294
2295        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2296        CHARACTER-ENCODING, use it to determine number/sequence of octets
2297        used to encode NUL.
2298
22992007-04-08 11:38  gb
2300
2301        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2302       
2303        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2304        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2305        so that echoing looks more natural.
2306
23072007-04-08 11:37  gb
2308
2309        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2310        object.
2311
23122007-04-08 11:36  gb
2313
2314        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2315        changes manually and most of the effects were cosmetic.
2316        TOPLEVEL-PRINT takes an output stream arg.
2317
23182007-04-08 11:35  gb
2319
2320        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2321
23222007-04-08 11:34  gb
2323
2324        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2325        interrupt is obviously pending.
2326
23272007-04-08 11:33  gb
2328
2329        * level-1/l1-io.lisp: Change pointer printing.
2330
23312007-04-08 11:33  gb
2332
2333        * level-1/l1-init.lisp: +NULL-PTR+.
2334
23352007-04-08 11:31  gb
2336
2337        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2338        preferred name for DEFGLOBAL.
2339
23402007-04-08 11:30  gb
2341
2342        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2343        for DEFGLOBAL.
2344       
2345        Mechanism for associating a (built-in) class with a foreign type
2346        ordinal.
2347
23482007-04-08 11:29  gb
2349
2350        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2351        for DEFGLOBAL.
2352       
2353        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2354        likely the global value of some symbol.)
2355
23562007-04-08 11:28  gb
2357
2358        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2359        DEFGLOBAL.
2360       
2361        Standard CL streams now bound per-thread.
2362       
2363        Install standard foreign types here, not every time that
2364        FOREIGN-TYPES is loaded.
2365       
2366        Canonicalize foreign type ordinals as soon as we can.  (This is
2367        part of a scheme to give foreign types "ordinals' that can be used
2368        to assert pointer types; we need some of those ordinal numbers to
2369        be pre-assigned, since we can't reference foreign types early in
2370        the cold load.)
2371
23722007-04-08 11:27  gb
2373
2374        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2375        DEFGLOBAL.  GCABLE-PTR-P.
2376
23772007-04-07 21:25  gb
2378
2379        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2380         Handle maintenance of auto-export packages differently.
2381        $fasl-timm just needs an :int, not a :long.
2382
23832007-04-07 21:24  gb
2384
2385        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2386        "functional", not random symbol guts.
2387
23882007-04-07 21:23  gb
2389
2390        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2391        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2392        interrupts are re-enabled.
2393
23942007-04-07 21:22  gb
2395
2396        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2397
23982007-04-07 21:20  gb
2399
2400        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2401        %PTR-STORE-FIXNUM-CONDITIONAL.
2402
24032007-04-07 21:19  gb
2404
2405        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2406        in DarwinPPC64 #'%FF-CALL.
2407
24082007-04-07 21:19  gb
2409
2410        * compiler/optimizers.lisp: When trying to infer result type of
2411        MAKE-ARRAY call, unquote quoted type specifier.
2412       
2413        Strength-reduce FLOAT when second argument is of known type.
2414
24152007-04-07 21:18  gb
2416
2417        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2418
24192007-04-07 21:17  gb
2420
2421        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2422        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2423        Parse %short-float, %double-float when no "result" arg; can at
2424        least try to constant-fold late and/or do some cases if we have
2425        more type info.
2426
24272007-04-07 21:16  gb
2428
2429        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2430        be bound" error message.
2431
24322007-04-07 21:15  gb
2433
2434        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2435        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2436
24372007-04-07 21:14  gb
2438
2439        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2440        remaning GPR/FPR counts even if arg is "simple" and passes straight
2441        through to %FF-CALL.
2442
24432007-04-07 21:13  gb
2444
2445        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2446        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2447        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2448        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2449        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2450
24512007-04-07 21:12  gb
2452
2453        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2454        for Darwin structure-passing ABI.
2455
24562007-04-07 21:10  gb
2457
2458        * OpenMCL.app/Contents/Resources/English.lproj/:
2459        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2460        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2461        OpenmclInspector.nib/keyedobjects.nib,
2462        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2463        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2464        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2465        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2466        representation, not binary.
2467
24682007-04-06 22:10  gb
2469
2470        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2471        (RLIMIT_AS) current resource limit to max limit, since some distros
2472        limit it.
2473
24742007-04-03 03:11  gb
2475
2476        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2477        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2478
24792007-04-02 22:10  gb
2480
2481        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2482        arg in utf-16 encode, missing #x in little-endian bom-marker
2483        definition.)
2484
24852007-03-14 23:10  gb
2486
2487        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2488
24892007-03-14 05:11  gb
2490
2491        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2492        generate-callback-bindings.
2493
24942007-03-13 06:10  gb
2495
2496        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2497
24982007-03-13 03:58  gb
2499
2500        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2501
25022007-03-12 05:11  gb
2503
2504        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2505        little.
2506
25072007-03-12 05:10  gb
2508
2509        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2510        %EXTERNAL-CALL-EXPANDER.
2511
25122007-03-12 05:09  gb
2513
2514        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2515        encapsulation, and a lock.
2516
25172007-03-12 05:08  gb
2518
2519        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2520        thread-local.
2521
25222007-03-12 02:25  gb
2523
2524        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2525        deal with variations in Mach behavior: "exception" may be
2526        EXC_BAD_ACCESS when an illegal instruction causes a "general
2527        protection fault".
2528
25292007-03-09 15:56  gb
2530
2531        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2532        NIL ...)
2533
25342007-03-09 00:01  gb
2535
2536        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2537
25382007-03-09 00:00  gb
2539
2540        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2541        *OPEN-FILE-STREAMS*.
2542
25432007-03-09 00:00  gb
2544
2545        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2546        open-file-streams.
2547
25482007-03-08 23:59  gb
2549
2550        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2551        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2552
25532007-03-08 23:58  gb
2554
2555        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2556        associated with it.
2557
25582007-03-08 23:57  gb
2559
2560        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2561
25622007-03-08 23:47  gb
2563
2564        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2565        hash-table, it fills the hash-table vector with "free" markers.
2566        (There may already be lots of "deleted" markers in the table.)
2567
25682007-03-08 22:26  gb
2569
2570        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2571
25722007-03-08 22:24  gb
2573
2574        * lib/numbers.lisp: printing random-state: don't shift seeds.
2575
25762007-03-08 22:24  gb
2577
2578        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2579
25802007-03-08 22:24  gb
2581
2582        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2583
25842007-03-08 22:23  gb
2585
2586        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2587
25882007-03-08 22:23  gb
2589
2590        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2591        %next-random-pair.
2592
25932007-03-08 22:22  gb
2594
2595        * level-0/l0-numbers.lisp: And, while we're at it: do the
2596        next-random-seed permutation in %next-random-pair, which accepts
2597        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2598        in lisp on 64-bit platforms.
2599
26002007-03-08 22:20  gb
2601
2602        * level-0/l0-numbers.lisp: Don't shift random seeds.
2603
26042007-03-08 03:30  gb
2605
2606        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2607        rather than >= #x80, because of the new way that
2608        uuo-error-slot-unbound is encoded.
2609
26102007-03-08 03:28  gb
2611
2612        * compiler/X86/x86-disassemble.lisp: Recognize
2613        uuo-error-slot-unbound.
2614
26152007-03-08 03:28  gb
2616
2617        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2618        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2619
26202007-03-07 08:29  gb
2621
2622        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2623
26242007-03-07 07:45  gb
2625
2626        * level-1/linux-files.lisp: For #+linux-target, try to use
2627        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2628        if that fails.  (CPU-COUNT is called early in the cold load, before
2629        we can make the file-stream necessary to do the parsing.)
2630
26312007-03-07 07:33  gb
2632
2633        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2634        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2635
26362007-03-07 07:25  gb
2637
2638        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2639        el-bizarro syscall mask, pass the magic number 0x1e as a second
2640        arg, just in case.
2641
26422007-03-07 07:24  gb
2643
2644        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2645        before accessing *OPEN-FILE-STREAMS*.
2646
26472007-03-07 07:23  gb
2648
2649        * level-1/l1-readloop.lisp: Add comment about
2650        *OPEN-FILE-STREAMS-LOCK*.
2651
26522007-03-07 07:23  gb
2653
2654        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2655
26562007-03-07 07:21  gb
2657
2658        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2659        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2660
26612007-03-07 07:05  gb
2662
2663        * xdump/heap-image.lisp: Bump current image version.
2664
26652007-03-07 07:02  gb
2666
2667        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2668        "calls" want an argument in ecx.  Set that arg to 0 for now.
2669
26702007-03-07 07:01  gb
2671
2672        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2673        "real" locks; those updates can be simplified.
2674       
2675        lock_recursive_lock: no (ignored) timeout arg.
2676
26772007-03-07 06:59  gb
2678
2679        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2680        support the old one.
2681
26822007-03-07 06:59  gb
2683
2684        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2685        prototype.  Change declaration of LOCK macro: no null timespec
2686        required.  RECURSIVE_LOCKs have spinlock fields.
2687
26882007-03-07 06:56  gb
2689
2690        * level-1/version.lisp: bump, indicate work-in-progress development
2691        version.
2692
26932007-03-07 06:56  gb
2694
2695        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2696        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2697        rather than something lower-level.
2698
26992007-03-07 06:53  gb
2700
2701        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2702        to obtain them before yielding.
2703
27042007-03-07 06:52  gb
2705
2706        * level-0/l0-io.lisp: Move YIELD elsewhere.
2707
27082007-03-07 06:51  gb
2709
2710        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2711        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2712        layout.
2713
27142007-03-02 05:10  gb
2715
2716        * level-1/l1-application.lisp: Toplevel function: initial-listener
2717        class is 'TTY-LISTENER.
2718
27192007-03-02 05:09  gb
2720
2721        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2722        message.
2723
27242007-03-02 05:09  gb
2725
2726        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2727       
2728        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2729        For TTY-LISTENER, call QUIT.
2730
27312007-03-02 05:08  gb
2732
2733        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2734        EXIT-INTERACTIVE-PROCESS instead.
2735       
2736        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2737
27382007-03-02 05:06  gb
2739
2740        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2741
27422007-03-02 05:06  gb
2743
2744        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2745        of null pointers into body.
2746
27472007-03-02 05:05  gb
2748
2749        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2750        consus-interruptus.
2751
27522007-03-02 05:05  gb
2753
2754        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2755        <constant> if constant is of type <type>.)
2756       
2757        Do we need an ignore-errors here ? Or does <type> need to be
2758        defined ?
2759
27602007-03-02 05:03  gb
2761
2762        * compiler/X86/x862.lisp: Do the / * thing.
2763
27642007-03-02 05:02  gb
2765
2766        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2767        :call attribute.
2768
27692007-03-01 04:04  gb
2770
2771        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2772        new binding frame
2773
27742007-02-28 07:04  gb
2775
2776        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2777        rather than %rbp; trust callback_for_interrupt() to preserve it.
2778
27792007-02-28 07:03  gb
2780
2781        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2782        callback_for_interrupt().
2783
27842007-02-28 05:18  gb
2785
2786        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2787        counts) that may wind up on the vstack.
2788       
2789        Since those tiny things might be tagged as headers, walk the vstack
2790        with new "headerless" functions that ignore headers.
2791
27922007-02-28 05:16  gb
2793
2794        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2795        before the alloc trap and interrupting, back out of the
2796        modification to save_allocptr (and allocptr register) and set
2797        *interrupt_displacement.
2798
27992007-02-23 10:13  gb
2800
2801        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2802        only makes sense for cases where we have to guess; a bitfield
2803        that's 8 bits wide still has an alignment of 1.
2804       
2805        Factor in the alignment of the containing int when bitfields are
2806        involved.
2807       
2808        When parsing a record type, set the "bits" slot of each field.
2809        (Not too many things look at that slot, but we want the effect of
2810        loading a record from the database to match the effect of parsing a
2811        definition as exactly as possible, and to be able to use EQUALP to
2812        compare the results.)
2813
28142007-02-23 10:06  gb
2815
2816        * lib/db-io.lisp: Some extra fields in
2817        objc-message-info/objc-method-info structures.
2818       
2819        When calculating overall alignment of a structure, treat bitfields
2820        as if they were :unsigned-int (since there's a "containing"
2821        unsigned int that affects alignment.  N.B: this should be imposed
2822        for anything that has an alignment of 1, not just a size of 1.)
2823       
2824        When loading integer types, try to use the precomputed types rather
2825        than consing a new one.  This (a) reduces consing a little (b) is
2826        more likely to get the alignment correct.  For (b), we really need
2827        to distinguish between bitfields and addressable integers.
2828
28292007-02-23 09:30  gb
2830
2831        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2832
28332007-02-22 02:33  gb
2834
2835        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2836
28372007-02-22 02:28  gb
2838
2839        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2840        heap size right ...).
2841
28422007-02-22 02:27  gb
2843
2844        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2845        traditional (sysv) style of hash maps, if it understands that
2846        option.
2847
28482007-02-21 06:01  gb
2849
2850        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2851        has been consed since last GC.  (There are some fenceposts there.)
2852       
2853        verbose GC herald tries to indicate how much is allocated in the
2854        area being GCed.
2855
28562007-02-21 05:58  gb
2857
2858        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2859        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2860
28612007-02-21 05:57  gb
2862
2863        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2864        uuo-gc-trap.
2865
28662007-02-19 04:50  gb
2867
2868        * lib/foreign-types.lisp: Use keywords more consistently.
2869       
2870        (Note: there seems to be a bug which is keeping the cdb data
2871        structures from getting defined correctly at load time; the
2872        workaround is to compile foreign-types.lisp - which defines them -
2873        in the same session as and before db-io - which uses them - is
2874        compiled.)
2875
28762007-02-19 04:48  gb
2877
2878        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2879        error.
2880
28812007-02-19 04:42  gb
2882
2883        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2884        the error function.
2885
28862007-02-19 04:40  gb
2887
2888        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2889        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2890
28912007-02-19 04:40  gb
2892
2893        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2894        FUNCALLABLE-STANDARD-OBJECT.
2895       
2896        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2897        creating a GF.
2898
28992007-02-19 04:36  gb
2900
2901        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2902        funcallable-stanard-objects better.
2903
29042007-02-19 04:34  gb
2905
2906        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2907        CCL, OPENMCL-MOP.
2908
29092007-02-19 02:09  gb
2910
2911        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2912        FUNCALLABLE-STANDARD-CLASS.
2913
29142007-02-19 02:07  gb
2915
2916        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2917        error message.
2918
29192007-02-15 02:46  gb
2920
2921        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2922        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2923
29242007-02-15 02:45  gb
2925
2926        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2927        methods yet.
2928
29292007-02-14 02:39  gb
2930
2931        * release-notes.txt: Fix a typo.
2932
29332007-02-14 02:35  gb
2934
2935        * release-notes.txt: Update for 070214 snapshots.
2936
29372007-02-13 23:36  gb
2938
2939        * level-1/version.lisp: Bump.
2940
29412007-02-13 23:36  gb
2942
2943        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2944        image-abi-version.
2945
29462007-02-13 23:29  gb
2947
2948        * xdump/faslenv.lisp: Finish bumping fasl version.
2949
29502007-02-13 23:15  gb
2951
2952        * lib/nfcomp.lisp: Bump current fasl version.
2953
29542007-02-13 23:02  gb
2955
2956        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2957
29582007-02-13 22:45  gb
2959
2960        * xdump/faslenv.lisp: Start bumping fasl-version.
2961
29622007-02-13 22:41  gb
2963
2964        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
2965        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
2966
29672007-02-13 21:16  gb
2968
2969        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
2970        that contain incompatible definitions of some math library stuff
2971        ("log" either has to do with logarithms or logging ...).
2972
29732007-02-13 18:42  gb
2974
2975        * lib/misc.lisp: Change the way that TIME is reported by default:
2976        mention the number of available CPU cores, don't assume that
2977        there's that much of a relationship between CPU time and wall-clock
2978        time.
2979
29802007-02-13 18:41  gb
2981
2982        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
2983        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
2984        when :execute, too.
2985
29862007-02-13 18:35  gb
2987
2988        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
2989        offset arg is required.
2990
29912007-02-13 18:12  gb
2992
2993        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
2994        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
2995
29962007-02-13 18:10  gb
2997
2998        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
2999        cons.)
3000
30012007-02-13 18:10  gb
3002
3003        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3004        are more/other float-size issues deeper down in the code.
3005
30062007-02-13 18:09  gb
3007
3008        * examples/objc-support.lisp: Fixup the x86-64 error-return
3009        callback trampiline code (was missing a byte of machine code.)
3010
30112007-02-13 18:08  gb
3012
3013        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3014        jmp-buf to safe/sane values.
3015
30162007-02-13 18:07  gb
3017
3018        * examples/cocoa-window.lisp: Don't change-class
3019        *cocoa-event-process* until we start to run the event loop.
3020       
3021        Don't do _deallocHardCore: explicitly.
3022
30232007-02-13 17:35  gb
3024
3025        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3026        DOUBLE-FLOAT aliases just one gpr.
3027
30282007-02-13 17:34  gb
3029
3030        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3031
30322007-02-13 17:34  gb
3033
3034        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3035        32-bit ints, not "long".
3036
30372007-02-13 17:33  gb
3038
3039        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3040        for each scalar, not each arg.
3041       
3042        Fix some backquoting/indentation.
3043
30442007-02-13 17:31  gb
3045
3046        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3047
30482007-02-12 16:23  gb
3049
3050        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3051
30522007-02-11 20:22  gb
3053
3054        * examples/bridge.lisp: method-typestring needs to be
3055        conditionalized.  How has this been working ?
3056
30572007-02-11 20:22  gb
3058
3059        * examples/cocoa-editor.lisp: remove some debugging code.
3060
30612007-02-11 20:21  gb
3062
3063        * examples/objc-runtime.lisp: %mlist-containing is
3064        #-apple-objc-2.0.
3065
30662007-02-11 20:21  gb
3067
3068        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3069
30702007-02-11 05:35  gb
3071
3072        * level-1/version.lisp: Bump.
3073
30742007-02-11 05:28  gb
3075
3076        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3077        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3078        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3079        an optional argument; default to the Tiger SDK.
3080
30812007-02-11 05:26  gb
3082
3083        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3084        an errror.
3085
30862007-02-11 05:26  gb
3087
3088        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3089        Leopard renaming.  Suffer.
3090
30912007-02-11 05:25  gb
3092
3093        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3094        an existing process (so that the listener process appears to be
3095        "persistent".)
3096
30972007-02-11 05:24  gb
3098
3099        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3100        make the initial-listener object persistent acrosss
3101        SAVE-APPLICATION.
3102
31032007-02-11 00:01  gb
3104
3105        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3106       
3107        Handle callback-error-returns on x86-64.
3108
31092007-02-11 00:00  gb
3110
3111        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3112        use %ptr<, to hide word-size differences.
3113       
3114        __NSConstantStringClassReference isn't what it used to be, so look
3115        up NSConstantStringClass the hard way.
3116       
3117        Handle ns-exception/lisp-error stuff on x86-64.
3118       
3119        Do arg/result coercions differently.  Does any code depend on
3120        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3121        MACPTRs).
3122       
3123        Use the new FFI interface for message-sends, callbacks to try to
3124        hide platform-specific ABI issues.
3125       
3126        The _deallocate-hook mechanism - which never really worked -
3127        probably can't work on Objc-2.0.
3128
31292007-02-10 23:54  gb
3130
3131        * examples/bridge.lisp: Make structure return-type explicit in
3132        objc-message-send calls in send/stret and variants.
3133
31342007-02-10 22:34  gb
3135
3136        * examples/cocoa-window.lisp: Some indentation changes and slight
3137        reorganization of the code; shouldn't be any functional/semantic
3138        changes.
3139
31402007-02-10 22:30  gb
3141
3142        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3143        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3144        appropriate; other changes for 64-bit platforms, Objc-2.0.
3145
31462007-02-10 22:28  gb
3147
3148        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3149        CG-FLOATs when appropriate.
3150
31512007-02-10 22:28  gb
3152
3153        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3154
31552007-02-10 22:28  gb
3156
3157        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3158
31592007-02-10 22:27  gb
3160
3161        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3162        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3163        ignore-errors when trying to parse the last arglist form as a
3164        foreign type.
3165
31662007-02-10 22:26  gb
3167
3168        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3169        expansion ...
3170
31712007-02-10 22:26  gb
3172
3173        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3174        use %rdx and %r11 to hold target address.
3175
31762007-02-10 22:23  gb
3177
3178        * library/pty.lisp: Unicode stuff when accessing control char
3179        array; conditionalize for #+darwin-target, not just
3180        #+darwinppc-target.
3181
31822007-02-10 22:22  gb
3183
3184        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3185        ppc-specific; the comment dated from the days of 68K MCL.)
3186
31872007-02-10 22:21  gb
3188
3189        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3190        return 32 bits at a time, to avoid consing little bignums.
3191
31922007-02-10 22:15  gb
3193
3194        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3195
31962007-02-10 22:15  gb
3197
3198        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3199        count, not total byte count.
3200       
3201        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3202        the PPC case, as well.)
3203
32042007-02-10 22:11  gb
3205
3206        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3207        "zero-extend-s8" vinsn, but there does need to be a
3208        "zero-extend-u8".
3209
32102007-02-10 05:38  gb
3211
3212        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3213        #'VALUES.
3214
32152007-02-10 05:38  gb
3216
3217        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3218        ARGLIST can say -something- about lap functions that don't take a
3219        fixed number of arguments.
3220
32212007-02-07 02:54  gb
3222
3223        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3224        "e".
3225
32262007-02-02 02:32  gb
3227
3228        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3229        objc-support.lisp: Start to integrate with FFI changes.  No more
3230        %SEND, process and precompile "init" messages when interfaces are
3231        accessed.  (Note: should try to handle varargs init messages, even
3232        if we have to call %FF-CALL at runtime.)
3233
32342007-02-02 02:31  gb
3235
3236        * examples/: addressbook.lisp, webkit.lisp: Change the
3237        initialization code a bit.
3238
32392007-02-02 02:27  gb
3240
3241        * lib/foreign-types.lisp: Try to fix another case involving
3242        "auxiliary types".
3243       
3244        I think that the concept of auxiliary types might make sense in a
3245        context like:
3246       
3247        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3248        (:struct :bar (:x :int) (:y :int)))))
3249       
3250        In that case, :struct :bar is local to the definition.  In the
3251        similar case:
3252       
3253        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3254        (:struct :bar))))
3255       
3256        :BAR is presumably defined (globally) elsewhere.
3257
32582007-02-02 02:17  gb
3259
3260        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3261         (Setting "SDK=" will hopefully work with older version of xcode.)
3262
32632007-02-02 02:15  gb
3264
3265        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3266
32672007-01-31 23:26  gb
3268
3269        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3270        argument in ppc2-poweropen-foreign-args.
3271
32722007-01-31 22:47  gb
3273
3274        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3275        components from registers.
3276
32772007-01-31 22:45  gb
3278
3279        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3280        brackets are returned verbatim, not downcased.
3281
32822007-01-31 22:44  gb
3283
3284        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3285        accepts :registers.
3286
32872007-01-31 16:36  gb
3288
3289        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3290        New (and, so far, useless) files.
3291
32922007-01-31 16:35  gb
3293
3294        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3295        seems to be 32-bit only.
3296
32972007-01-31 16:34  gb
3298
3299        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3300
33012007-01-31 16:34  gb
3302
3303        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3304
33052007-01-31 16:33  gb
3306
3307        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3308        missing cdb file: dog bytes man; missing parent directory is more
3309        newsworthy.
3310
33112007-01-31 15:38  gb
3312
3313        * library/chud-metering.lisp: Tweak a little, so that it might work
3314        on darwinppc64 (and on darwinx8664 when purify does something
3315        there.)
3316
33172007-01-31 15:06  gb
3318
3319        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3320
33212007-01-31 02:49  gb
3322
3323        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3324
33252007-01-30 22:53  gb
3326
3327        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3328        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3329        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3330        gl/.cvsignore: new files.
3331
33322007-01-30 22:21  gb
3333
3334        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3335        new files.
3336
33372007-01-30 21:58  gb
3338
3339        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3340
33412007-01-30 21:58  gb
3342
3343        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3344        file
3345
33462007-01-30 21:49  gb
3347
3348        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3349        fun!
3350
33512007-01-30 21:40  gb
3352
3353        * library/openmcl-gtk-support.lisp: Conditionalize out the
3354        event-polling task.
3355
33562007-01-30 21:36  gb
3357
3358        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3359        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3360        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3361
33622007-01-30 21:35  gb
3363
3364        * headers/gl/C/populate.sh: process glu.h
3365
33662007-01-30 17:47  gb
3367
3368        * library/parse-ffi.lisp: Always encode explicit structure-typed
3369        function return values.
3370       
3371        Note when we see one, for now.
3372
33732007-01-30 17:45  gb
3374
3375        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3376        leading argument to be paired with a structure-typed return-type.
3377
33782007-01-30 17:43  gb
3379
3380        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3381        the first-arg hack.
3382
33832007-01-30 17:42  gb
3384
3385        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3386        support the old version.
3387       
3388        Don't check the :struct-by-value flag when encoding function
3389        args/results.  (That decision's made above our pay grade now.)
3390       
3391        When reading a :struct/:union definition, try to update an existing
3392        defintion rather than consing up a new one (this matters if the
3393        record is anonymous.)
3394
33952007-01-30 17:39  gb
3396
3397        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3398        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3399        correctly.
3400       
3401        Fix c_socket for #+linuxppc.
3402
34032007-01-30 08:20  gb
3404
3405        * level-1/version.lisp: Bump.
3406
34072007-01-30 08:20  gb
3408
3409        * lib/compile-ccl.lisp: Use make -j to build kernel.
3410
34112007-01-30 07:02  gb
3412
3413        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3414        xmm0/xmm1.
3415
34162007-01-30 07:01  gb
3417
3418        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3419        day's work turned into 2 weeks, somehow.)
3420
34212007-01-30 07:00  gb
3422
3423        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3424        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3425        stuff for x8664 (all platfroms appear to use the same ABI.)
3426
34272007-01-30 03:26  gb
3428
3429        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3430        displacement in %ATOMIC-INCF-NODE.
3431
34322007-01-29 07:27  gb
3433
3434        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3435
34362007-01-29 07:27  gb
3437
3438        * lib/ffi-darwinppc64.lisp: new callback stuff.
3439
34402007-01-29 07:27  gb
3441
3442        * lib/ffi-darwinppc32.lisp: typos-r-us.
3443
34442007-01-29 04:37  gb
3445
3446        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3447
34482007-01-29 04:37  gb
3449
3450        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3451
34522007-01-29 04:36  gb
3453
3454        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3455
34562007-01-29 04:36  gb
3457
3458        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3459
34602007-01-29 04:36  gb
3461
3462        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3463        stuff here.
3464
34652007-01-29 02:33  gb
3466
3467        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3468
34692007-01-28 21:47  gb
3470
3471        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3472        a bit more, change the API, get things working ... still a moving
3473        target.
3474
34752007-01-28 21:46  gb
3476
3477        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3478        (Other platforms still need more bootstrapping.)
3479
34802007-01-28 21:44  gb
3481
3482        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3483        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3484
34852007-01-28 03:21  gb
3486
3487        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3488        dynamic-extent, other decls separately.
3489
34902007-01-28 03:20  gb
3491
3492        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3493        use the new (ftd-based) scheme.
3494
34952007-01-28 01:43  gb
3496
3497        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3498        code's getting replaced, but fix 'em anyway.)
3499
35002007-01-28 01:42  gb
3501
3502        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3503        translated pathname and mention the fact that this might indicate a
3504        problem with "ccl:"'s logical translations.
3505
35062007-01-25 04:37  gb
3507
3508        * lib/foreign-types.lisp: Never fully understood the concept
3509        "auxiliary" foreign types, but try to canonicalize intermediate
3510        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3511        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3512        likely to return T (e.g., something registered in the FTD.
3513       
3514        It seems clear that this is the right thing when the structure
3515        reference is in global scope; I'm not sure what it'd mean for that
3516        not to be the case.
3517
35182007-01-25 04:32  gb
3519
3520        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3521        callback.
3522
35232007-01-24 23:41  gb
3524
3525        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3526        may not even compile.
3527
35282007-01-24 02:39  gb
3529
3530        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3531        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3532        for new FTD functions.
3533
35342007-01-24 02:28  gb
3535
3536        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3537        defstruct.
3538
35392007-01-23 15:28  gb
3540
3541        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3542        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3543        Return FPRs in the same place.  (Will need to re-work all of this
3544        for platform-dependent structure stuff.)
3545
35462007-01-23 15:26  gb
3547
3548        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3549        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3550        the lisp side.)
3551
35522007-01-23 15:21  gb
3553
3554        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3555        c_reg_save for saved fp args (f1-f13).
3556
35572007-01-23 15:14  gb
3558
3559        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3560        ftd hook.
3561
35622007-01-23 07:19  gb
3563
3564        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3565        (CLASS-OF non-simple-string).
3566
35672007-01-23 07:02  gb
3568
3569        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3570        array case, needed new string definition.
3571
35722007-01-23 07:01  gb
3573
3574        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3575        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3576        compiler/X86/X8664/x8664-backend.
3577
35782007-01-23 06:59  gb
3579
3580        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3581        stuff here.
3582
35832007-01-21 08:32  gb
3584
3585        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3586        "-returning-").
3587       
3588        Typecheck the :registers arg.
3589
35902007-01-21 08:32  gb
3591
3592        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3593
35942007-01-21 08:31  gb
3595
3596        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3597        stack-block.
3598
35992007-01-21 08:31  gb
3600
3601        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3602        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3603        instead.
3604
36052007-01-21 06:46  gb
3606
3607        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3608        space for 13 float registers, not 31.
3609
36102007-01-21 06:45  gb
3611
3612        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3613        x86-64.
3614
36152007-01-21 06:38  gb
3616
3617        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3618        register return without typos.
3619
36202007-01-21 06:15  gb
3621
3622        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3623        register return.
3624
36252007-01-21 06:14  gb
3626
3627        * compiler/nx1.lisp: Don't assume that passing a structure by value
3628        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3629        platform that doesn't support the convention.)
3630
36312007-01-21 06:12  gb
3632
3633        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3634        replaces .SPunused-4.
3635
36362007-01-21 06:10  gb
3637
3638        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3639        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3640        (replaces .SPunused_4).
3641
36422007-01-21 00:05  gb
3643
3644        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3645        argument/result coercion functions in os::expand-ff-call.
3646
36472007-01-20 23:53  gb
3648
3649        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3650        results when expanding an ff-call.
3651
36522007-01-20 23:52  gb
3653
3654        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3655        foreign args, results.
3656
36572007-01-20 22:31  gb
3658
3659        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3660        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3661        are to each other.  I'd guess that they're pretty close, and that
3662        x86-64 Darwin is random.)
3663
36642007-01-20 21:55  gb
3665
3666        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3667
36682007-01-20 19:34  gb
3669
3670        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3671
36722007-01-20 19:25  gb
3673
3674        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3675        right os::ff-call-expander.
3676
36772007-01-20 19:24  gb
3678
3679        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3680
36812007-01-20 19:24  gb
3682
3683        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3684        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3685        OS.
3686
36872007-01-20 19:23  gb
3688
3689        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3690        probably several more.
3691
36922007-01-20 19:22  gb
3693
3694        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3695
36962007-01-20 19:21  gb
3697
3698        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3699        extended to handle coercions at the Cocoa level, and probably needs
3700        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3701        installed by #_).
3702
37032007-01-20 19:18  gb
3704
3705        * lib/db-io.lisp: Encode, decode union types in arglists.
3706
37072007-01-20 19:17  gb
3708
3709        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3710        os::expand-ff-call.
3711       
3712        Canonicalize the :void type a bit better.
3713
37142007-01-20 19:16  gb
3715
3716        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3717
37182007-01-18 23:15  gb
3719
3720        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3721
37222007-01-18 23:15  gb
3723
3724        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3725
37262007-01-18 23:15  gb
3727
3728        * lib/systems.lisp: Add the new ffi-backend sources.
3729
37302007-01-18 23:14  gb
3731
3732        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3733        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3734        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3735        files.
3736
37372007-01-18 04:35  gb
3738
3739        * level-1/version.lisp: Bump.
3740
37412007-01-18 04:17  gb
3742
3743        * examples/bridge.lisp: Some word-size conditionalization.  Will
3744        need more work to handle struct return/asssignment correctly on all
3745        platforms.
3746
37472007-01-18 04:15  gb
3748
3749        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3750        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3751
37522007-01-18 04:13  gb
3753
3754        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3755        type casts, etc.
3756
37572007-01-18 04:12  gb
3758
3759        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3760        deprecated NSFont stuff.
3761
37622007-01-18 04:11  gb
3763
3764        * examples/objc-clos.lisp: Handle ivars, class
3765        creation/initialization differently for ObjC 2.0.
3766
37672007-01-18 04:10  gb
3768
3769        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3770
37712007-01-18 04:09  gb
3772
3773        * examples/objc-support.lisp: Note which protocols are actually
3774        used when walking classes.  (There doesn't seem to be a good way of
3775        finding a Protocol object pre-objc-2.0, and we may need to test
3776        protocol compliance to disambiguate message sends in some cases.)
3777
37782007-01-18 04:07  gb
3779
3780        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3781        necessarily darwinppc).
3782
37832007-01-18 04:06  gb
3784
3785        * examples/addressbook.lisp: Conditionalize for darwin (not
3786        necessarily darwinppc).  May want to conditionalize for bundle
3787        executable name, as well.
3788
37892007-01-18 04:05  gb
3790
3791        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3792        to sketch out structure return code (structures are often
3793        "returned" by returning field values in registers pn DarwinPPC64.)
3794
37952007-01-18 04:04  gb
3796
3797        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3798        attributes for structure args/results.
3799
38002007-01-18 04:03  gb
3801
3802        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3803         (Will need this for other platforms, too.)
3804
38052007-01-18 04:01  gb
3806
3807        * lib/macros.lisp: Arch-specific macro interface for
3808        WITH-FFCALL-RESULTS.
3809
38102007-01-18 04:00  gb
3811
3812        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3813        return value.
3814
38152007-01-18 04:00  gb
3816
3817        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3818        .SPpoweropen_ffcall_return_registers.
3819
38202007-01-18 03:59  gb
3821
3822        * library/parse-ffi.lisp: At least optionally, make structure
3823        return explicit (expecting it to be handled by higher-level code.)
3824
38252007-01-18 03:58  gb
3826
3827        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3828        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3829
38302007-01-18 03:55  gb
3831
3832        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3833        may hold OS thread context.
3834
38352007-01-18 03:54  gb
3836
3837        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3838        in ftd.
3839
38402007-01-18 03:53  gb
3841
3842        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3843        macro.
3844
38452007-01-18 03:52  gb
3846
3847        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3848        all possible result regs.  (Maybe poweropen syscall, too.)
3849
38502007-01-18 03:51  gb
3851
3852        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3853        .SPpoweropen-ff-call-return-registers.
3854
38552007-01-18 03:50  gb
3856
3857        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3858        supported, backend will return all (potential) result registers in
3859        buffer at <exp>.
3860
38612007-01-16 02:01  gb
3862
3863        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3864        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3865        functions make less sense for character streams/strings than they
3866        used to.)
3867
38682007-01-16 01:39  gb
3869
3870        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3871        defaults to :BIVALENT
3872
38732007-01-16 01:37  gb
3874
3875        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3876
38772007-01-11 23:58  gb
3878
3879        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3880        into (* (/ constant1 constant2) exp).  Not very general, but makes
3881        some foreign address arithmetic better.
3882
38832007-01-11 23:56  gb
3884
3885        * lib/macros.lisp: Simple PAREF: (paref pointer
3886        foreign-pointer-or-array-type index) does simple arithmetic for
3887        you.
3888
38892007-01-11 23:54  gb
3890
3891        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3892
38932007-01-10 15:50  gb
3894
3895        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3896        double->heap vinsn.
3897
38982007-01-09 11:33  gb
3899
3900        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3901        cleanup and multiple values are being thrown, be sure to set
3902        tcr.xframe from the target catch frame.  This is necessary on
3903        general principles (GC safety), and especially necessary if the
3904        cleanup form does a non-local exit.
3905
39062007-01-08 22:12  gb
3907
3908        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3909        Revive some of the old GNUstep support; add partial ObjC 2.0
3910        support (for 64-bit targets only, so far.)
3911
39122007-01-08 22:11  gb
3913
3914        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3915        darwinppc-target.
3916
39172007-01-08 22:10  gb
3918
3919        * examples/cocoa-listener.lisp: Disable background layout in the
3920        listener; the whole two-thread scheme probably isn't viable, but
3921        doing this seems to suppress a timing-related symptom.
3922
39232007-01-08 22:09  gb
3924
3925        * examples/cocoa-editor.lisp: Document-begin-editing,
3926        document-end-editing: both seem to have been conditionalized
3927        backwards.
3928
39292007-01-05 16:22  gb
3930
3931        * level-0/l0-numbers.lisp: Fix another typo ...
3932
39332007-01-05 16:16  gb
3934
3935        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3936
39372007-01-05 15:27  gb
3938
3939        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3940        PPC32.
3941
39422007-01-05 06:20  gb
3943
3944        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3945        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3946        result (with the right arg) does obtain a link map.
3947       
3948        Revive shared libraries on FreeBSD, but don't do the strange
3949        Linux-specific re-opening there.  (It seems like it's possible to
3950        #_dlopen something that already has a loaded link map - like the
3951        FreeBSD dynamic linker - or something.)
3952
39532007-01-04 05:46  gb
3954
3955        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3956        :WILD-INFERIORS.
3957
39582007-01-04 05:45  gb
3959
3960        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
3961        (which may use %gs instead of %fs for tls).
3962
39632007-01-04 05:44  gb
3964
3965        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
3966
39672007-01-04 05:44  gb
3968
3969        * level-0/l0-numbers.lisp:
3970        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
3971        accurately represented in float, do so.
3972
39732007-01-03 03:35  gb
3974
3975        * lib/sequences.lisp: Fix a few type errors, check for explicit
3976        vector-type length earlier.
3977
39782007-01-03 03:31  gb
3979
3980        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
3981        preserved :WILD, don't map it to "*".
3982
39832007-01-03 03:30  gb
3984
3985        * lib/pathnames.lisp: More whack-a-mole with pathnames
3986        (specifically, preserving :WILD as name/type value and dealing with
3987        the consequences of doing so.)
3988
39892007-01-03 03:27  gb
3990
3991        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
3992
39932007-01-02 09:57  gb
3994
3995        * lib/macros.lisp: Keep fixing CTYPECASE.
3996
39972007-01-02 09:57  gb
3998
3999        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4000        BASIC-CHARACTER-INPUT-STREAM returns both values.
4001       
4002        "Composite" (two-way, concatenated, etc) streams need a close
4003        protocol.
4004
40052007-01-02 07:00  gb
4006
4007        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4008        (new) version slot, as does practically everything else.
4009
40102007-01-02 06:59  gb
4011
4012        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4013        accurately coerced to floats when comparing fixnums and floats; do
4014        the logical equvalent of calling RATIONAL on the float instead.
4015
40162007-01-01 23:41  gb
4017
4018        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4019        version into returned namestring for physical pathnames.
4020
40212006-12-31 10:15  gb
4022
4023        * release-notes.txt: Update.
4024
40252006-12-31 09:13  gb
4026
4027        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4028        version.
4029
40302006-12-31 08:57  gb
4031
4032        * xdump/faslenv.lisp: Bump fasl-min-vers.
4033
40342006-12-31 08:49  gb
4035
4036        * lib/nfcomp.lisp: Bump current fasl version.
4037
40382006-12-31 08:33  gb
4039
4040        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4041        Tweak the executable start address.
4042
40432006-12-31 02:44  gb
4044
4045        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4046        ensure that there's nothing interesting in the first few pages of
4047        the address space (and ensure that those pages are mapped.)
4048
40492006-12-31 02:43  gb
4050
4051        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4052        on x86-64 (ld64 does some floating-point arithmetic, fails to
4053        account for roundoff error, and claims that 0x1000 isn't a power of
4054        2.) If you can't say anything good about a linker, it's best not to
4055        say anything at all.
4056       
4057        We can force the first segment to be mapped at 0x1000, and can
4058        waste a few pages to ensure that all low-memory pages that the lisp
4059        wants are mapped.
4060
40612006-12-31 02:33  gb
4062
4063        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4064        defensive.
4065
40662006-12-31 02:32  gb
4067
4068        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4069
40702006-12-31 02:29  gb
4071
4072        * xdump/faslenv.lisp: Bump $fasl-vers.
4073
40742006-12-31 02:28  gb
4075
4076        * level-1/version.lisp: Bump; remove "Beta" designation.
4077
40782006-12-29 20:13  gb
4079
4080        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4081        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4082        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4083        up a page on x86-64 as well.
4084
40852006-12-29 16:09  gb
4086
4087        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4088        .orged.
4089
40902006-12-29 15:32  gb
4091
4092        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4093        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4094        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4095        (including NIL) now one page higher on ppc32, as well.
4096
40972006-12-29 02:38  gb
4098
4099        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4100
41012006-12-29 01:38  gb
4102
4103        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4104        ppc64::reservation-discharge) up a page.
4105
41062006-12-29 01:37  gb
4107
4108        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4109        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4110
41112006-12-29 01:36  gb
4112
4113        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4114        backend.  ppc64 wants it one page higher than it has been, to avoid
4115        letting unmapped pages get claimed by the dynamic linker on Darwin.
4116
41172006-12-29 01:35  gb
4118
4119        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4120        that the image starts at #x1000 and aligned section data for the
4121        text section starts on the next page.
4122
41232006-12-29 01:33  gb
4124
4125        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4126        the aligned text section data starts.
4127
41282006-12-29 01:32  gb
4129
4130        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4131        etc a page higher.
4132
41332006-12-29 01:32  gb
4134
4135        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4136        already where it should be.
4137
41382006-12-29 01:32  gb
4139
4140        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4141        page higher.
4142
41432006-12-29 01:30  gb
4144
4145        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4146
41472006-12-22 01:40  gb
4148
4149        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4150
41512006-12-22 01:39  gb
4152
4153        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4154        PPC32/Darwin.
4155       
4156        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4157        test and use dlfcn functions if at least Tiger.
4158       
4159        (The old dyld functions are deprecated under Leopard, and there's
4160        reason to believe that they don't work correctly on at least ppc64/
4161        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4162        a 64-bit .dylib seems to lead to memory corruption rather than
4163        returning NSObjectFileImageInappropriateFile.
4164       
4165        The old functions work better than the dlfcn functions on pre-Tiger
4166        systems.)
4167
41682006-12-19 01:24  gb
4169
4170        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4171        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4172        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4173        producing a pathane with a non-null VERSION component, as it
4174        arguably should have been all along.
4175
41762006-12-18 13:22  gb
4177
4178        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4179        types into concrete vector types.
4180
41812006-12-18 13:04  gb
4182
4183        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4184        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4185        failing to do this leads to many test failures.)
4186
41872006-12-18 13:03  gb
4188
4189        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4190
41912006-12-18 12:57  gb
4192
4193        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4194        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4195        failing to do this leads to many test failures.)
4196
41972006-12-18 12:54  gb
4198
4199        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4200
42012006-12-16 05:28  gb
4202
4203        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4204        instructions have a minor opcode in frb and only have one source
4205        operand.
4206
42072006-12-16 05:27  gb
4208
4209        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4210        SQRT, note that there's only one operand and that it's in frb.
4211
42122006-12-16 05:25  gb
4213
4214        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4215        instructions, notably fsqrt/fqrts, which are optional and not
4216        implemented on some PPC machines.
4217
42182006-12-16 05:24  gb
4219
4220        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4221
42222006-12-14 19:47  gb
4223
4224        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4225
42262006-12-14 16:43  gb
4227
4228        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4229        double-float arithmetic vinsns should say :double-float, not
4230        :single-float.  (I suspect cut-and-paste, frankly.)
4231
42322006-12-14 16:25  gb
4233
4234        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4235        initial-thread.
4236
42372006-12-14 16:24  gb
4238
4239        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4240        error.
4241
42422006-12-14 16:14  gb
4243
4244        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4245        physical pathnames. (Yes, this is kind of silly.)
4246
42472006-12-14 16:01  gb
4248
4249        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4250        signal errors for (e.g.) failed memory allocation.
4251
42522006-12-14 16:00  gb
4253
4254        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4255        fails, signal a lisp error (what a concept.)
4256
42572006-12-14 15:51  gb
4258
4259        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4260       
4261        Might be worth revisiting this.
4262
42632006-12-14 15:50  gb
4264
4265        * lisp-kernel/x86-exceptions.c: Go back to using the
4266        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4267        from a fake context may not be reliable.
4268       
4269        When handling an interrupt with a partially created temp stack
4270        frame, do the right thing.  (That basically means reset the frame
4271        before calling out and recreating it if we return from the
4272        callout.)
4273       
4274        Handle SIGQUIT on the altstack, to provide a way of forcibly
4275        terminating threads that's a bit more GC-safe than doing it via
4276        #_pthread_cancel.
4277       
4278        Note the tcr of the gc thread on gc entry; if an exception happens
4279        in that thread, print a message and sleep for 60 seconds.
4280       
4281        Note that there's still a race condition here: if thread A gets an
4282        exception and thread B gets the mach_exception_lock (to GC) before
4283        the exception thread can handle the message, we deadlock (thread A
4284        would be suspended in the kernel and can't respond to a suspend
4285        signal.)  We can tell that this has happened and make a good guess
4286        as to why it happened, but dealing with it will require some
4287        thought.  (If we've already issued a suspend signal and eventually
4288        raise the suspended thread's resume semaphore, it'll suspend and
4289        resume once the mach exception thread makes it runnable.  Who
4290        cleans up its exception context in that case ?  Does it matter ?)
4291
42922006-12-14 15:19  gb
4293
4294        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4295        have all signals unmasked.
4296       
4297        If a tcr is dead, ensure that its stack areas are empty.
4298       
4299        Try to run shutdown_thread_tcr as a pthread cleanup action,
4300        hopefully before Mach clobbers the thread's signal mask.
4301
43022006-12-14 15:16  gb
4303
4304        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4305        TCR_AREA_LOCK.
4306
43072006-12-14 15:15  gb
4308
4309        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4310        hasn't existed in years.
4311
43122006-12-14 15:14  gb
4313
4314        * level-1/version.lisp: Bump.
4315
43162006-12-14 15:14  gb
4317
4318        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4319        termination semaphore.
4320
43212006-12-14 15:13  gb
4322
4323        * level-1/l1-processes.lisp: PROCESS objects are created with a
4324        termination semaphore.
4325
43262006-12-14 15:12  gb
4327
4328        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4329        TERMINATION-SEMAPHORE.
4330       
4331        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4332        target thread to transition from running lisp code to running
4333        foreign code without advertising that fact. Send a SIGQUIT instead,
4334        and trust the SIGQUIT handler to manage that transition.  Don't try
4335        to kill the initial thread.
4336
43372006-12-09 09:52  gb
4338
4339        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4340        their CLEAR-OUTPUT methods.
4341       
4342        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4343        their displaced-index-offsets.)
4344
43452006-12-09 09:49  gb
4346
4347        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4348        threads on x86-64.  (The PPC never got around to enabling them.)
4349
43502006-12-09 09:47  gb
4351
4352        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4353        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4354        the result of its evaluation.
4355       
4356        Some fixes in CTYPECASE handling, which hopefully didn't break
4357        anything else.
4358
43592006-12-09 09:36  gb
4360
4361        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4362        1d) index register is set - even if the index is a constant - if we
4363        think that the store needs EGC memoization.
4364       
4365        (Note that the test case that exposed this involved storing
4366        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4367        64-bit platforms.)
4368       
4369        In aref2, don't worry about reserving unscaled index registers when
4370        targeting the 1d index; the unscaled index registers aren't live
4371        after, could be NULL if the index is a constant, and any overlap
4372        between one of them and the 1d index should be handled in the
4373        vinsn(s).
4374
43752006-12-09 09:30  gb
4376
4377        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4378        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4379        class-translations.
4380
43812006-12-09 09:27  gb
4382
4383        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4384        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4385        don't segfault taking its CAR without checking.)
4386
43872006-12-06 18:48  gb
4388
4389        * level-0/X86/x86-float.lisp: x86-64 version of
4390        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4391        in %imm1 (which is undefined here ...)
4392
43932006-12-06 17:05  gb
4394
4395        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4396        right symbol for the named block.
4397       
4398        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4399        (SETF NAME).
4400
44012006-12-05 22:44  gb
4402
4403        * release-notes.txt: Update for 061205.
4404
44052006-12-05 20:31  gb
4406
4407        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4408        from putting a linkedit segment in the wrong place and making
4409        32-bit memory unmappable.
4410
44112006-12-05 20:30  gb
4412
4413        * level-1/version.lisp: Bump.
4414
44152006-12-05 20:29  gb
4416
4417        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4418
44192006-12-05 18:53  gb
4420
4421        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4422        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4423        doc string for *ALTERNATE-LINE-TERMINATOR*.
4424
44252006-12-04 15:13  gb
4426
4427        * level-1/version.lisp: Append a patchlevel to the version string,
4428        at least until new tarballs can be built.
4429
44302006-12-04 15:12  gb
4431
4432        * level-1/l1-streams.lisp: If stream element type upgrades to
4433        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4434        element-type.)
4435
44362006-12-04 13:02  gb
4437
4438        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4439        called): don't bother to shift by 0 bits.  Do shift the initial U
4440        if non-zero trailing 0 BITS (was testing for non-zero trailing
4441        DIGITS.)
4442
44432006-12-04 12:52  gb
4444
4445        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4446        element-types; do some upgrading to support some more element types
4447        (BIT -> (UNSIGNED-BYTE 8)).
4448       
4449        Maybe support arbitrarily large integer types someday soon.  Maybe
4450        not.
4451
44522006-12-04 12:48  gb
4453
4454        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4455        types (compiler stuff, mostly).
4456
44572006-12-04 12:46  gb
4458
4459        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4460        shift count of 32 (and returns 0 in that case.)
4461
44622006-12-04 12:46  gb
4463
4464        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4465        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4466        in case.)
4467
44682006-12-04 12:43  gb
4469
4470        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4471        GCD-2 ...
4472
44732006-12-04 09:26  gb
4474
4475        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4476        for STRING-INPUT-STREAMs.
4477
44782006-12-04 09:24  gb
4479
4480        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4481        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4482        shift by 0 bits.
4483
44842006-12-04 09:21  gb
4485
4486        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4487        doing %SLOT-UNBOUND-TRAP.
4488
44892006-12-04 09:21  gb
4490
4491        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4492        STREAMs, returns NIL.  STREAM-POSITION method for
4493        STRING-INPUT-STREAMs.
4494
44952006-12-04 09:19  gb
4496
4497        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4498        containing heap image.
4499
45002006-12-03 07:41  gb
4501
4502        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4503        STRING-OUTPUT-STREAMs are no-ops.
4504       
4505        Need an ioblock-based character-read-vector function for
4506        string-input-streams.
4507
45082006-12-03 07:37  gb
4509
4510        * lib/describe.lisp: Minimal DESCRIBE support for
4511        CCL::BASIC-STREAM.
4512
45132006-12-03 07:36  gb
4514
4515        * lib/macros.lisp: If :element-type is supplied in
4516        WITH-OUTPUT-TO-STRING, don't quote it.
4517
45182006-12-03 05:11  gb
4519
4520        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4521        isn't necessarily 16.
4522
45232006-12-03 05:10  gb
4524
4525        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4526        isn't necessarily 16.
4527       
4528        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4529        %slot-unbound-trap.
4530
45312006-12-03 05:09  gb
4532
4533        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4534        avoid some NO-NEXT-METHODs.
4535
45362006-12-03 02:42  gb
4537
4538        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4539        bit better.
4540
45412006-12-03 02:41  gb
4542
4543        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4544        bit.
4545
45462006-12-03 02:28  gb
4547
4548        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4549        clearing the low byte of the header, shifting it right, and
4550        comparing the index to that.  (It's not reliable to shift the index
4551        left.)
4552
45532006-12-03 02:26  gb
4554
4555        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4556        write BOM, leave that up to higher-level code.
4557       
4558        Start to write some higher-level code.
4559
45602006-12-03 02:23  gb
4561
4562        * level-1/l1-sysio.lisp: Fix some indentation.
4563
45642006-12-03 02:21  gb
4565
4566        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4567        the header word right (after clearing its low byte) and compare the
4568        index to that.  (Shifting the index left - d'oh - obviously fails
4569        for indices of large magnitude.)
4570
45712006-11-29 21:07  gb
4572
4573        * lib/db-io.lisp: Indentation change.
4574       
4575        Add CDB-ENUMERATE-KEYS.
4576
45772006-11-29 18:37  gb
4578
4579        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4580        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4581        LISTP first.  (I hope ...).  Do so.
4582
45832006-11-28 18:42  gb
4584
4585        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4586
45872006-11-28 16:14  gb
4588
4589        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4590
45912006-11-28 16:12  gb
4592
4593        * examples/objc-runtime.lisp: Wrap a (primitive)
4594        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4595        NSThread.
4596
45972006-11-28 16:09  gb
4598
4599        * examples/cocoa-listener.lisp: Don't claim that a callback
4600        parameter is ignored; use IGNORABLE instead.
4601
46022006-11-21 01:28  gb
4603
4604        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4605        conditionalization.
4606
46072006-11-21 00:55  gb
4608
4609        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4610        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4611       
4612        Basic file-socket streams.
4613
46142006-11-10 05:08  gb
4615
4616        * release-notes.txt: Update.
4617
46182006-11-10 04:28  gb
4619
4620        * lisp-kernel/image.h: Bump min image version.
4621
46222006-11-10 04:19  gb
4623
4624        * xdump/heap-image.lisp: bump current image version.
4625
46262006-11-10 04:19  gb
4627
4628        * lisp-kernel/image.h: bump current, max image version.
4629
46302006-11-10 04:10  gb
4631
4632        * xdump/faslenv.lisp: Bump min fasl version.
4633
46342006-11-10 03:56  gb
4635
4636        * lib/nfcomp.lisp: bump current fasl version.
4637
46382006-11-10 03:47  gb
4639
4640        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4641        #_exit
4642
46432006-11-10 03:46  gb
4644
4645        * compiler/X86/x862.lisp: TYPE typo.
4646
46472006-11-10 03:32  gb
4648
4649        * xdump/faslenv.lisp: Bump max fasl version.
4650
46512006-11-10 03:25  gb
4652
4653        * level-1/version.lisp: Bump.  New snapshots today!
4654
46552006-11-09 16:26  gb
4656
4657        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4658       
4659        PREPARE-TO-QUIT kill stragglers without waiting as long.
4660
46612006-11-09 15:50  gb
4662
4663        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4664       
4665        Try to run lisp code after #_exit via lazarus(); this is for some
4666        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4667       
4668        The environment in which The Undead code runs is a little funky,
4669        especially on PPC.  There might be GC implications (cstack will
4670        contain call history as of the point when #_exit called atexit
4671        handlers, vstack & tstack are emptied in lazarus()).  We should
4672        barely run any code in this environment, but we will GC a time or
4673        two ...
4674
46752006-11-09 15:45  gb
4676
4677        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4678
46792006-11-09 15:43  gb
4680
4681        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4682        protocol.
4683
46842006-11-09 15:42  gb
4685
4686        * examples/cocoa-listener.lisp: :set-document-edited for listener
4687        "documents" is a no-op.
4688
46892006-11-09 15:39  gb
4690
4691        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4692        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4693
46942006-11-09 12:50  gb
4695
4696        * compiler/X86/x862.lisp: Always check that array-ctype's
4697        dimensions are a list before taking their length.
4698
46992006-11-09 12:13  gb
4700
4701        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4702        right thing ...
4703
47042006-11-09 10:08  gb
4705
4706        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4707        Three-arg aref/(setf aref) for x8664.
4708
47092006-11-09 05:37  gb
4710
4711        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4712        errors.
4713
47142006-11-09 05:37  gb
4715
4716        * compiler/nxenv.lisp: Operators for 3d array access.
4717
47182006-11-09 05:36  gb
4719
4720        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4721        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4722        array types.
4723
47242006-11-08 12:50  gb
4725
4726        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4727        Leopard nonsense: define the stack context struct separately, make
4728        the ucontext stack field an instance of it.  (Not -sure- if that
4729        was necessary, but :poweropen-target was accidentally on *FEATURES*
4730        and foreign struct layout was using read-time condtionalization to
4731        decide whether or not to use brain-dead structure-alignment rules
4732        leftover from AIX/PowerOpen.
4733
47342006-11-08 12:46  gb
4735
4736        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4737
47382006-11-08 12:40  gb
4739
4740        * compiler/optimizers.lisp: Try to infer/insert the array type when
4741        compiler-macroexpanding MAKE-ARRAY calls.
4742
47432006-11-08 12:39  gb
4744
4745        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4746        :poweropen-alignment rules.
4747
47482006-11-08 12:38  gb
4749
4750        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4751        to poweropen structure layout rules should be an attribute of the
4752        FTD, not done via read-time conditionalization.
4753
47542006-11-08 05:15  gb
4755
4756        * level-1/version.lisp: Bump.
4757
47582006-11-08 05:15  gb
4759
4760        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4761       
4762        TODO: get rid of "bivalent" streams, but allow switching some
4763        streams (sockets) between "character mode" and "binary mode".
4764
47652006-11-08 02:39  gb
4766
4767        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4768
47692006-11-07 21:10  gb
4770
4771        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4772        ASET->%ASET3.
4773
47742006-11-07 20:40  gb
4775
4776        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4777
47782006-11-07 20:39  gb
4779
4780        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4781
47822006-11-07 20:38  gb
4783
4784        * level-0/l0-array.lisp: Use %aref2,%aref3.
4785
47862006-11-07 20:37  gb
4787
4788        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4789        vector-store vinsns.
4790
47912006-11-07 20:37  gb
4792
4793        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4794
47952006-11-07 10:28  gb
4796
4797        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4798        .SPaset3.
4799
48002006-11-07 10:27  gb
4801
4802        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4803
48042006-11-07 10:26  gb
4805
4806        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4807        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4808
48092006-11-07 10:26  gb
4810
4811        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4812        mullw/mulld.
4813
48142006-11-07 04:12  gb
4815
4816        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4817
48182006-11-06 22:07  gb
4819
4820        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4821        :fixnum-vector case.
4822
48232006-11-06 22:04  gb
4824
4825        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4826        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4827        known/declared.
4828
48292006-11-06 22:02  gb
4830
4831        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4832        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4833        versions, but it helps not to have to remember which are
4834        implemented and which aren't.)
4835
48362006-11-06 22:01  gb
4837
4838        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4839
48402006-11-06 22:00  gb
4841
4842        * compiler/nx1.lisp: New %ASET2 handling.
4843
48442006-11-06 21:59  gb
4845
4846        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4847        never assigned to.
4848
48492006-11-05 22:09  gb
4850
4851        * level-1/x86-trap-support.lisp: Try to work around
4852        incompatibilites in Tiger/Leopard headers.
4853
48542006-11-05 22:08  gb
4855
4856        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4857        the foreign function may not exist.
4858
48592006-11-05 20:41  gb
4860
4861        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4862
48632006-11-05 07:55  gb
4864
4865        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4866        x86-64, as well.
4867
48682006-11-05 07:52  gb
4869
4870        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4871
48722006-11-05 07:50  gb
4873
4874        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4875        .SPaset2.
4876
48772006-11-05 07:48  gb
4878
4879        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4880        testing simple-array-ness, add the (possibly 0) displacement from
4881        the header before handling the simple aref of the data vector.
4882
48832006-11-05 07:47  gb
4884
4885        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4886        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4887
48882006-11-05 07:46  gb
4889
4890        * level-1/version.lisp: Bump; new binaries soon.
4891
48922006-11-05 07:46  gb
4893
4894        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4895        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4896        4G seconds after an EINTR on Leopard.
4897
48982006-11-05 07:44  gb
4899
4900        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4901        if any non-fixnum bits would be set in the result.  (Should
4902        probably make this true on all platforms; for PPC64, it's important
4903        for foreign function addresses that're ... suboptimally aligned.)
4904
49052006-11-05 07:42  gb
4906
4907        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4908        %NANOSLEEP's second (by reference) argument contains garbage after
4909        an EINTR.  (The L word, again.)
4910
49112006-11-05 07:41  gb
4912
4913        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4914        into the kernel.
4915
49162006-11-05 07:40  gb
4917
4918        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4919        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4920        MACPTR->FIXNUM return NIL if an address isn't representable as a
4921        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4922        can't return a fixnum on PPC (really just affects PPC64.)
4923
49242006-11-05 07:37  gb
4925
4926        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4927
49282006-11-05 07:36  gb
4929
4930        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4931        2d aref support/changes.
4932
49332006-11-05 07:36  gb
4934
4935        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4936        x8664 wrt 2d aref.  Stll a ways to go.
4937
49382006-11-05 07:35  gb
4939
4940        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4941
49422006-11-04 00:05  gb
4943
4944        * level-1/version.lisp: Bump.
4945
49462006-11-03 23:10  gb
4947
4948        * level-1/ppc-error-signal.lisp: fix parens.
4949
49502006-11-03 23:09  gb
4951
4952        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4953        gvector types contains :struct, not :structure.
4954
49552006-11-03 23:08  gb
4956
4957        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4958        subprim.
4959       
4960        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
4961        in the builtin functions table.
4962
49632006-11-03 15:19  gb
4964
4965        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
4966
49672006-11-03 15:18  gb
4968
4969        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
4970
49712006-11-03 15:17  gb
4972
4973        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
4974        type-error UUOs.
4975
49762006-11-03 15:16  gb
4977
4978        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
4979
49802006-11-03 15:16  gb
4981
4982        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
4983        (array-header) layout.
4984
49852006-11-03 13:46  gb
4986
4987        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
4988        returns its argument if all members are SPECIALIZERS.
4989       
4990        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
4991        arguments, for the benefit of people who haven't read the MOP spec
4992        or who don't realize that the MOP defines some things differently
4993        from CLHS.
4994
49952006-11-03 13:38  gb
4996
4997        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
4998        to refer to primitive structure type.
4999       
5000        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5001
50022006-11-03 13:37  gb
5003
5004        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5005        :STRUCTURE) is on target-gvector-types.
5006
50072006-11-03 12:53  gb
5008
5009        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5010
50112006-11-03 12:52  gb
5012
5013        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5014         More to come ...
5015
50162006-11-03 12:52  gb
5017
5018        * lisp-kernel/x86-constants64.s: Define array-header layout.
5019
50202006-11-03 12:51  gb
5021
5022        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5023        encodings, new type-error constants.
5024
50252006-11-03 12:50  gb
5026
5027        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5028        traps.
5029
50302006-11-03 12:49  gb
5031
5032        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5033        constant-redefinition CERRORs.
5034
50352006-11-03 12:48  gb
5036
5037        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5038
50392006-11-03 12:47  gb
5040
5041        * level-0/l0-pred.lisp: array--header -> array-header.
5042
50432006-11-03 12:47  gb
5044
5045        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5046        add/change some 2d array stuff.
5047
50482006-11-03 12:43  gb
5049
5050        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5051        subprims; seem to be much (>5x) faster than the lisp/lap versions
5052        (though we can generally be faster still when we know the
5053        element-type and/or know whether the array is simple or explicitly
5054        displaced.)
5055
50562006-11-03 12:41  gb
5057
5058        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5059        related changes.
5060       
5061        Split the code which handles bounds/type-checking in vref out from
5062        the code which actually does the reference, so that the latter can
5063        be used in multidimensional cases.
5064       
5065        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5066        general case.)
5067
50682006-11-03 12:38  gb
5069
5070        * compiler/nx1.lisp: Change handling of 2d-aref.
5071
50722006-11-03 12:37  gb
5073
5074        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5075        general-aref2.  More changes to come (and this may affect
5076        compilation on PPC until some PPC compiler changes are
5077        made/checked-in.)
5078
50792006-11-03 12:35  gb
5080
5081        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5082        the range 128-255, rather than 64-127; more are defined.
5083
50842006-11-02 09:43  gb
5085
5086        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5087
50882006-11-02 09:37  gb
5089
5090        * compiler/arch.lisp: New error constants; work in progress ...
5091
50922006-11-01 11:40  gb
5093
5094        * lisp-kernel/errors.s: Some new constants; more to check in later.
5095
50962006-10-31 03:39  gb
5097
5098        * level-0/l0-io.lisp: You must be reading the OLD rule book
5099        (Leopard and #$EINTR).
5100
51012006-10-31 03:21  gb
5102
5103        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5104        the tcr.  Initialize "addr" before testing it ...
5105
51062006-10-31 03:21  gb
5107
5108        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5109        the tcr.
5110
51112006-10-30 20:40  gb
5112
5113        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5114        expands into something more useful.
5115
51162006-10-30 20:39  gb
5117
5118        * lisp-kernel/ppc-spentry.s: Fix ppc32
5119        misc_ref_double_float_vector.
5120
51212006-10-30 00:24  gb
5122
5123        * level-0/l0-bignum64.lisp: Enable the destructive version of
5124        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5125        provide/fix supporting functions.  Seems to work on ppc64; needs
5126        testing on x8664.
5127
51282006-10-27 17:49  gb
5129
5130        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5131
51322006-10-25 20:36  gb
5133
5134        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5135        variants): always clear the untyi-char.
5136       
5137        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5138        needs an argument.
5139       
5140        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5141        bivalent streams.
5142       
5143        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5144
51452006-10-24 12:35  gb
5146
5147        * level-1/version.lisp: Bump.
5148
51492006-10-24 01:29  gb
5150
5151        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5152        _SPdestbind1 (still used in inlining, sometimes.)
5153
51542006-10-24 01:05  gb
5155
5156        * release-notes.txt: Change the date, add/change some content.
5157
51582006-10-24 01:05  gb
5159
5160        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5161        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5162
51632006-10-24 00:56  gb
5164
5165        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5166        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5167
51682006-10-24 00:55  gb
5169
5170        * level-1/l1-streams.lisp: When recycling
5171        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5172        (Failure to do this can screw up the pretty-printer, among other
5173        things.)
5174
51752006-10-24 00:52  gb
5176
5177        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5178        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5179
51802006-10-23 17:03  gb
5181
5182        * release-notes.txt: Updated; almost ready to go (still a
5183        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5184
51852006-10-23 16:43  gb
5186
5187        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5188        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5189
51902006-10-23 16:42  gb
5191
5192        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5193        STREAM-EXTERNAL-FORMAT) methods.
5194
51952006-10-23 16:41  gb
5196
5197        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5198        stuff.
5199
52002006-10-23 08:27  gb
5201
5202        * level-1/version.lisp: Bump; binaries today, honest.
5203
52042006-10-23 08:27  gb
5205
5206        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5207
52082006-10-23 08:26  gb
5209
5210        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5211        macros were checking for the presence of an input lock ...
5212
52132006-10-23 05:40  gb
5214
5215        * level-1/l1-streams.lisp: Optimize write-string on string streams
5216        a little.
5217
52182006-10-23 05:26  gb
5219
5220        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5221        which evaluates the string form twice; don't do whatever was being
5222        done to default the element type of the string stream.
5223
52242006-10-23 05:24  gb
5225
5226        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5227        keyword/subtype checking if element-type not provided.  (Could also
5228        skip it if it's explicit and obviously OK.)
5229
52302006-10-23 05:22  gb
5231
5232        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5233        "current" allocation if nothing's reserved.
5234
52352006-10-23 05:19  gb
5236
5237        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5238        update_bytes_allocated (sign of "disp").
5239
52402006-10-22 08:02  gb
5241
5242        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5243        form like a PROGN if there are no other forms.
5244
52452006-10-22 08:01  gb
5246
5247        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5248        ioblock functions.
5249       
5250        New string-stream implementation.  Better ...
5251
52522006-10-22 07:59  gb
5253
5254        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5255        before the stream closes.
5256
52572006-10-22 07:59  gb
5258
5259        * lib/pprint.lisp: Don't assume that string output stream strings
5260        have a fill-pointer; use STREAM-POSITION instead.
5261
52622006-10-22 07:57  gb
5263
5264        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5265        functions, after all.
5266       
5267        Go through (new) ioblock-unread-char-function.
5268
52692006-10-22 07:55  gb
5270
5271        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5272        x/s
5273
52742006-10-21 18:46  gb
5275
5276        * level-1/l1-streams.lisp: Typo.
5277
52782006-10-21 18:41  gb
5279
5280        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5281        fields in pseudo sigcontexts.
5282
52832006-10-21 18:40  gb
5284
5285        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5286        twice, etc.)
5287
52882006-10-21 18:35  gb
5289
5290        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5291        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5292        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5293        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5294        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5295
52962006-10-21 16:45  gb
5297
5298        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5299        encodings!
5300
53012006-10-19 13:48  gb
5302
5303        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5304        arg_z - in %safe-get-ptr.
5305
53062006-10-19 13:22  gb
5307
5308        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5309        optional, use #\Sub char-code as replaement char.
5310
53112006-10-19 13:21  gb
5312
5313        * examples/objc-runtime.lisp: Missing close paren.
5314
53152006-10-19 13:19  gb
5316
5317        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5318        strings to/from foreign memory.
5319
53202006-10-19 13:18  gb
5321
5322        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5323
53242006-10-18 08:04  gb
5325
5326        * level-1/version.lisp: Bump.  Binaries later today ?
5327
53282006-10-18 07:38  gb
5329
5330        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5331        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5332        class becomes (or ceases to be) a properly named class.
5333       
5334        The pre-bootstrapping version handles simpler cases of that; use
5335        ALIAS-CLASS to register some early class names as type names.
5336
53372006-10-18 07:36  gb
5338
5339        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5340        system, since only symbols which name properly-named classes are
5341        type specifiers.  Changing the name of a class can either introduce
5342        or remove a properly-named class.
5343       
5344        Classes that have the kernel-p attribute shouldn't have their names
5345        changed casually.
5346
53472006-10-18 07:33  gb
5348
5349        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5350        MAKE-SOCKET, pass it down to whatever function actually creates a
5351        stream socket.
5352
53532006-10-18 02:12  gb
5354
5355        * compiler/X86/x862.lisp: Allow closed-over addresses in
5356        conditional-form, NOT.
5357
53582006-10-18 01:43  gb
5359
5360        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5361        safe_ref_addres.
5362
53632006-10-18 01:43  gb
5364
5365        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5366
53672006-10-18 01:41  gb
5368
5369        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5370        addresses/vcells to nil.
5371
53722006-10-18 01:41  gb
5373
5374        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5375        addresses to NIL.
5376       
5377        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5378        level inline.
5379
53802006-10-18 01:39  gb
5381
5382        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5383        for a few months now.  The disassembler is always the last to know.
5384
53852006-10-17 19:15  gb
5386
5387        * compiler/PPC/PPC32/ppc32-arch.lisp,
5388        compiler/PPC/PPC64/ppc64-arch.lisp,
5389        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5390        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5391        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5392        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5393        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5394        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5395       
5396        Handle memory faults to safe-ref-addres on PPC (so far).
5397       
5398        Try using SAFE-GET-PTR in objc runtime (untested).
5399
54002006-10-17 17:34  gb
5401
5402        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5403        type in acode.
5404
54052006-10-17 14:02  gb
5406
5407        * level-1/l1-unicode.lisp: BOM-ENCODING.
5408
54092006-10-17 14:02  gb
5410
5411        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5412        something.
5413       
5414        Clear the pending-bom flag when seeking.
5415
54162006-10-17 14:01  gb
5417
5418        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5419        ioblock-based character streams.
5420
54212006-10-17 13:45  gb
5422
5423        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5424        *interrupt-level* inline.
5425
54262006-10-17 13:44  gb
5427
5428        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5429        immmediate operand (xuuo).
5430
54312006-10-17 13:39  gb
5432
5433        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5434        when necessary.
5435
54362006-10-17 13:39  gb
5437
5438        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5439        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5440
54412006-10-15 17:51  gb
5442
5443        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5444       
5445        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5446
54472006-10-15 17:51  gb
5448
5449        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5450
54512006-10-15 17:50  gb
5452
5453        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5454
54552006-10-14 07:41  gb
5456
5457        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5458        ENSURING-NODE-TARGET.
5459       
5460        Inline the fixnum case of two-arg numeric comparisons.
5461
54622006-10-14 07:39  gb
5463
5464        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5465        INLINE-SUB2 support.
5466
54672006-10-14 06:30  gb
5468
5469        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5470        generated DEFSTRUCT accessors.
5471
54722006-10-14 06:27  gb
5473
5474        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5475       
5476        Do the fixnum case of two-argument subtraction inline.
5477       
5478        Inline the fixnum case of two-argument numeric comparisons.
5479       
5480        STRUCT-REF avoids typechecking when reckless.
5481
54822006-10-14 06:21  gb
5483
5484        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5485        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5486
54872006-10-14 06:20  gb
5488
5489        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5490        little differently.
5491       
5492        Add xchg-registers.
5493
54942006-10-13 04:54  gb
5495
5496        * compiler/nx1.lisp: Use new NUMCMP operator.
5497
54982006-10-13 04:53  gb
5499
5500        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5501        in effect at call time, not those in effect at definition time.
5502
55032006-10-13 04:50  gb
5504
5505        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5506        inlining issues.
5507
55082006-10-13 04:30  gb
5509
5510        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5511
55122006-10-12 19:46  gb
5513
5514        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5515        "--" is seen.
5516
55172006-10-12 19:45  gb
5518
5519        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5520        newline translation differenly (at the character I/O level, not the
5521        buffer level).
5522       
5523        All character encoding/decoding functions operate on octets, not
5524        necessarily code units.  (The stream encode/decode functions are an
5525        exception; serialization and byte ordering are handled by the
5526        stream.)
5527
55282006-10-09 16:34  gb
5529
5530        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5531        encode a character in (implicit) iso-8859-1.
5532
55332006-10-09 16:33  gb
5534
5535        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5536        a replacement character.
5537
55382006-10-09 16:31  gb
5539
5540        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5541        write/read something, even if it's a replacement character of some
5542        sort.
5543
55442006-10-09 15:19  gb
5545
5546        * level-1/l1-streams.lisp: More stuff about line termination.  When
5547        will this end ?
5548
55492006-10-09 15:19  gb
5550
5551        * lib/chars.lisp: Use a hashtable to map characters to their names.
5552         (Maybe a sparse vector ?).
5553
55542006-10-09 15:18  gb
5555
5556        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5557        their names.  (Maybe a sparse vector ?).
5558       
5559        Define #\Sub and #\Replacement_Character.
5560
55612006-10-08 21:17  gb
5562
5563        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5564        NEW-BACKTRACE for a while now.
5565
55662006-10-08 21:16  gb
5567
5568        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5569        Panther happy.
5570
55712006-10-08 20:30  gb
5572
5573        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5574
55752006-10-08 20:30  gb
5576
5577        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5578        pathname, before it's too late ...
5579
55802006-10-08 20:29  gb
5581
5582        * level-1/l1-unicode.lisp: ASCII, some other changes.
5583
55842006-10-08 20:29  gb
5585
5586        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5587        :line-termination option to MAKE-FD-STREAM.
5588
55892006-10-08 20:28  gb
5590
5591        * level-1/l1-streams.lisp: Yet another line-termination translation
5592        scheme; hopefully, the last for a while. (More tedium before it's
5593        actually installed.)
5594
55952006-10-08 20:27  gb
5596
5597        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5598        #\Paragraph_separator.
5599
56002006-10-07 20:35  gb
5601
5602        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5603
56042006-10-07 20:34  gb
5605
5606        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5607        kernel debugger if interactive streams aren't initialized yet.
5608        (We'd probably get there sooner or later in that case; try to get
5609        there sooner.)
5610
56112006-10-07 20:33  gb
5612
5613        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5614        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5615        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5616        method.)
5617
56182006-10-07 20:32  gb
5619
5620        * level-1/l1-application.lisp: Handle the (new)
5621        -K/--terminal-encoding command-line argument.
5622
56232006-10-07 11:14  gb
5624
5625        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5626        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5627        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5628
56292006-10-07 11:13  gb
5630
5631        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5632        entered when --batch is in effect.
5633
56342006-10-07 11:12  gb
5635
5636        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5637        PROCESS-EXIT-APPLICATION.
5638
56392006-10-07 11:11  gb
5640
5641        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5642        *stdout* here.
5643
56442006-10-06 04:49  gb
5645
5646        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5647        TRANSLATE slot to IO-BUFFER.
5648
56492006-10-06 04:40  gb
5650
5651        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5652
56532006-10-06 04:39  gb
5654
5655        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5656
56572006-10-06 04:38  gb
5658
5659        * level-1/version.lisp: Bump.
5660
56612006-10-06 04:38  gb
5662
5663        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5664        replacement character.
5665
56662006-10-05 14:46  gb
5667
5668        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5669
56702006-10-05 14:46  gb
5671
5672        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5673
56742006-10-05 14:46  gb
5675
5676        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5677        C-like value (all exceptions masked) before doing a callback.  (Not
5678        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5679        value, where most exceptions were unmasked, and this caused FP
5680        exceptions when calling out to foreign code with the "lispy"
5681        tcr.foreign_mxcsr in effect.)
5682       
5683        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5684        the spurious SIGTRAPs, but might be the right idea (and might save
5685        a context switch or two.)
5686       
5687        Mach exception stuff initializes rflags to exception rflags when
5688        arranging to resume thread at handler.  Leaving them uninitialized
5689        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5690        set.
5691
56922006-10-05 06:09  gb
5693
5694        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5695
56962006-10-05 06:09  gb
5697
5698        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5699        #\U+xxxx syntax.
5700
57012006-10-05 06:08  gb
5702
5703        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5704
57052006-10-05 06:07  gb
5706
5707        * level-1/l1-sysio.lisp: Try to get
5708        line-termination/external-format stuff working.
5709
57102006-10-05 05:35  gb
5711
5712        * level-1/l1-streams.lisp: Assume that character data is always
5713        encoded as one or more 8-bit octets.
5714
57152006-10-05 04:59  gb
5716
5717        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5718        just before we make the first one.
5719
57202006-10-02 08:13  gb
5721
5722        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5723        handlers, so we need to make handlers do a sigreturn after
5724        switching off the signal stack, etc.
5725
57262006-10-02 08:11  gb
5727
5728        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5729        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5730        handling for cleanup of tcr pending exception and since we can't
5731        easily restore the signal mask.)
5732       
5733        (Up until this point, SIGRETURN has been a nop on Darwin.)
5734
57352006-10-02 04:59  gb
5736
5737        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5738        earlier.
5739
57402006-10-02 04:47  gb
5741
5742        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5743        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5744        systems <= 10.4).
5745
57462006-10-02 02:46  gb
5747
5748        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5749        Try to make x86-64 version compile under 10.4 again; see if this
5750        breaks post-10.4 compilation.
5751
57522006-10-02 02:33  gb
5753
5754        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5755        x86-exceptions.h: Change things so that they compile for x86-64 on
5756        systems later than 10.4.  Almost certainly break 10.4 compilation
5757        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5758        hours on crap like this, just let me know!)
5759
57602006-09-27 20:33  gb
5761
5762        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5763
57642006-09-27 20:33  gb
5765
5766        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5767
57682006-09-27 05:46  gb
5769
5770        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5771        BASIC-STREAM classes a class prototype.
5772
57732006-09-27 05:45  gb
5774
5775        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5776        initialization, to make it easier to use MAKE-FD-STREAM to open
5777        (seekable) FILE-STREAMs.
5778
57792006-09-27 05:41  gb
5780
5781        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5782        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5783
57842006-09-27 05:39  gb
5785
5786        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5787        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5788        division-by-zero, but that should be masked when in foreign code.)
5789        Don't reload the lisp mxcsr until other registers have been popped,
5790        to make debugging easier in case it's the act of reloading the
5791        mxcsr that causes the spurious trap.)
5792
57932006-09-27 05:36  gb
5794
5795        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5796
57972006-09-27 05:35  gb
5798
5799        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5800        was parenthesized in such a way as to not return the error value on
5801        error.
5802
58032006-09-27 05:34  gb
5804
5805        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5806        passing context into the kernel makes it too difficult to debug/get
5807        backtrace, etc.)
5808
58092006-09-27 05:33  gb
5810
5811        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5812        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5813
58142006-09-27 05:05  gb
5815
5816        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5817        (mostly for BUILT-IN-CLASSes).
5818
58192006-09-26 20:49  gb
5820
5821        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5822        a BASIC-P argument.
5823
58242006-09-26 20:47  gb
5825
5826        * level-1/l1-streams.lisp: More changes.  Imagine that.
5827
58282006-09-26 20:46  gb
5829
5830        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5831        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5832
58332006-09-26 20:43  gb
5834
5835        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5836        take/return strings, not chars.
5837       
5838        Some bom stuff.
5839
58402006-09-24 20:14  gb
5841
5842        * lib/chars.lisp: Check for assumptions about character size.
5843        Remove some %i-isms (fixnum arithmetic), make assertions about type
5844        of char-code.
5845
58462006-09-24 20:12  gb
5847
5848        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5849        CHKBOUNDS function.  Simpler STRING-START-END.
5850
58512006-09-24 20:11  gb
5852
5853        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5854        Probably belongs elsewhere; some encodings may not make it at all
5855        possible.
5856
58572006-09-24 20:07  gb
5858
5859        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5860        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5861
58622006-09-24 20:00  gb
5863
5864        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5865        line-termination slot from ioblock and corresponding arg from
5866        functions which initialize it.
5867
58682006-09-24 19:59  gb
5869
5870        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5871        file-ioblock.
5872
58732006-09-24 19:58  gb
5874
5875        * level-1/l1-unicode.lisp: Buffer translation functions don't
5876        belong here; start thinking about BOM.
5877
58782006-09-24 19:57  gb
5879
5880        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5881        it's been a :u32const for the last few weeks ...
5882
58832006-09-24 04:29  gb
5884
5885        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5886        the code is within its bounds.
5887
58882006-09-24 04:27  gb
5889
5890        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5891        mappings in a vector and a hash table, rather than in an alist.
5892
58932006-09-24 04:26  gb
5894
5895        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5896        character constant fasl encoding ($fasl-char).
5897
58982006-09-23 05:31  gb
5899
5900        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5901        sure which are the most important.)
5902
59032006-09-23 05:29  gb
5904
5905        * level-1/l1-sysio.lisp: Start to separate
5906        line-termination/external-format stuff.
5907
59082006-09-23 05:28  gb
5909
5910        * level-1/l1-streams.lisp: Lots-o-changes.
5911
59122006-09-23 05:28  gb
5913
5914        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5915        UTF-8 (mostly for debugging utf-8 ...)
5916
59172006-09-21 04:07  gb
5918
5919        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5920        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5921        clobbered r11, sometimes didn't.)
5922
59232006-09-21 04:05  gb
5924
5925        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5926
59272006-09-21 04:05  gb
5928
5929        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5930        callback_for_interrupt.
5931
59322006-09-21 04:04  gb
5933
5934        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5935        x86-64 ucontext/mcontext on Darwin.
5936
59372006-09-21 04:02  gb
5938
5939        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5940        flavors.
5941       
5942        Add a type decl in %nanosleep.
5943
59442006-09-21 04:01  gb
5945
5946        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5947        vinsns.
5948
59492006-09-21 04:01  gb
5950
5951        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5952        values.  (Probably only matters in a few cases, like the Darwin
5953        x86-64 version of #_nanosleep, which returns a non-sign-extended
5954        "int" value if the sleep is interruted.)
5955
59562006-09-20 06:34  gb
5957
5958        * level-1/version.lisp: Bump.
5959
59602006-09-20 04:24  gb
5961
5962        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5963        slight improvements in signed-byte boxing, typechecking.
5964
59652006-09-20 04:22  gb
5966
5967        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
5968
59692006-09-20 04:21  gb
5970
5971        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
5972
59732006-09-20 04:21  gb
5974
5975        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
5976
59772006-09-20 04:20  gb
5978
5979        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
5980        versions.  Need a "logical" UTF-16, which deals with byte-order
5981        marks and a means of installing a concrete encoding.  Needs
5982        testing.
5983
59842006-09-20 04:15  gb
5985
5986        * level-1/l1-streams.lisp: Numerous changes.
5987
59882006-09-20 04:15  gb
5989
5990        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
5991
59922006-09-20 04:14  gb
5993
5994        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
5995        byte 8,16,32,64.  Tighten up some signed-byte boxing.
5996
59972006-09-20 04:12  gb
5998
5999        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6000        8,16,32,64
6001
60022006-09-19 01:38  gb
6003
6004        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6005        vinsns for REQUIRE-[US][8,16,32,64]
6006
60072006-09-19 01:37  gb
6008
6009        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6010        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6011        64).
6012
60132006-09-19 01:36  gb
6014
6015        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6016
60172006-09-19 01:36  gb
6018
6019        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6020        operators.
6021
60222006-09-19 01:34  gb
6023
6024        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6025        require-[us][8,16,32,64] when possible.
6026
60272006-09-19 01:34  gb
6028
6029        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6030
60312006-09-19 01:33  gb
6032
6033        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6034
60352006-09-19 01:15  gb
6036
6037        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6038        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6039
60402006-09-19 00:36  gb
6041
6042        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6043
60442006-09-18 21:42  gb
6045
6046        * lib/macros.lisp: Macros for locking the input/output locks of an
6047        ioblock, assuming that it exists.
6048
60492006-09-17 00:45  gb
6050
6051        * level-1/l1-streams.lisp: more changes
6052
60532006-09-13 06:52  gb
6054
6055        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6056        WRITE-STRING, TERPRI.
6057
60582006-09-13 06:08  gb
6059
6060        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6061
60622006-09-13 06:07  gb
6063
6064        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6065        named encoding isn't defined.
6066       
6067        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6068
60692006-09-13 06:06  gb
6070
6071        * level-1/l1-streams.lisp: More functions in the ioblock, some
6072        support for 8-bit encodings (like utf-8).  Not finished, but
6073        getting hard to bootstrap; need to check in and build on all
6074        platforms before it gets even harder.
6075
60762006-09-12 05:34  gb
6077
6078        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6079        %copy-ivector-to-pointer) in BUG.
6080
60812006-09-12 05:31  gb
6082
6083        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6084        altstack_signal_handler is entered in foreign code.  (Maybe want to
6085        signal a lisp error in some cases, but this is currently fatal and
6086        we might as well die earlier than with a stack overflow.)
6087
60882006-09-12 05:29  gb
6089
6090        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6091        direction right on FreeBSD.  (Much better than randomly scribbling
6092        on memory in the GC, as the FreeBSD port has been doing for months
6093        now ...)
6094
60952006-09-11 21:31  gb
6096
6097        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6098        intersection.
6099
61002006-09-11 21:21  gb
6101
6102        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6103
61042006-09-11 20:10  gb
6105
6106        * level-1/l1-unicode.lisp: Character encodings contain a
6107        LITERAL-CHAR-CODE-LIMIT field.
6108
61092006-09-11 20:09  gb
6110
6111        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6112        functionality for encoded streams.
6113
61142006-09-11 20:08  gb
6115
6116        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6117
61182006-09-09 04:39  gb
6119
6120        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6121        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6122
61232006-09-09 04:21  gb
6124
6125        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6126        reasonable for ^c syntax; don't do MOD for octal.
6127
61282006-09-09 04:21  gb
6129
6130        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6131        agains boxed Unicode limit
6132
61332006-09-09 03:56  gb
6134
6135        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6136        x8664 functions, hash tables.  (PPC versions should handle hash
6137        table key movement.)
6138
61392006-09-08 22:47  gb
6140
6141        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6142        #x100.
6143
61442006-09-08 22:38  gb
6145
6146        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6147        FIXNUM->CHAR: return NIL for surrogate pairs.
6148
61492006-09-08 22:33  gb
6150
6151        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6152
61532006-09-08 22:31  gb
6154
6155        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6156        sanity-check fn/lr).
6157
61582006-09-08 18:55  gb
6159
6160        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6161        necessarily want arbitrary expressions to be compiled unsafely; do
6162        want to avoid a little type-checking sometimes.)
6163
61642006-09-08 18:52  gb
6165
6166        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6167        for values in the surrogate-pairs range.  (There are other things
6168        that it could plausibly return NIL for.)
6169
61702006-09-08 18:51  gb
6171
6172        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6173        now, just purify strings.
6174
61752006-09-08 18:48  gb
6176
6177        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6178        8), which is still useful (and exactly what it used to do.)
6179
61802006-09-08 18:47  gb
6181
6182        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6183
61842006-09-08 18:44  gb
6185
6186        * level-1/level-1.lisp: Load l1-unicode.
6187
61882006-09-08 18:44  gb
6189
6190        * level-1/l1-unicode.lisp: New file.
6191
61922006-09-07 03:50  gb
6193
6194        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6195
61962006-09-07 03:44  gb
6197
6198        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6199        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6200        attribute of the backend (may need more pure space on x86-64.)
6201
62022006-09-07 03:43  gb
6203
6204        * lisp-kernel/image.h: Bump abi version.
6205
62062006-09-07 03:43  gb
6207
6208        * level-1/version.lisp: Bump.
6209
62102006-09-07 02:58  gb
6211
6212        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6213        seems to mask synchronous signals.  Unmask them in signal handlers.
6214
62152006-09-07 02:57  gb
6216
6217        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6218        signal mask.
6219
62202006-09-07 02:56  gb
6221
6222        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6223        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6224        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6225        (char are 32 bits wide on all platforms now.)
6226
62272006-09-07 00:40  gb
6228
6229        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6230        SIGNUM_FOR_PROCESS_INTERRUPT.
6231
62322006-09-07 00:12  gb
6233
6234        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6235        box_fixnum_no_flags.
6236
62372006-09-07 00:12  gb
6238
6239        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6240        vice imul).
6241
62422006-09-06 21:18  gb
6243
6244        * compiler/X86/X8664/x8664-arch.lisp: Need
6245        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6246
62472006-09-06 18:37  gb
6248
6249        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6250        strings.
6251
62522006-09-06 18:36  gb
6253
6254        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6255        typecodes.
6256
62572006-09-06 18:36  gb
6258
6259        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6260        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6261
62622006-09-06 18:35  gb
6263
6264        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6265        contains entry for 32-bit BASE-CHAR.
6266
62672006-09-06 18:35  gb
6268
6269        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6270        extracting typecodes.
6271
62722006-09-06 18:34  gb
6273
6274        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6275        32-bit-chars.
6276
62772006-09-06 18:33  gb
6278
6279        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6280        :rcontext pseudo-register name until the target backend is in
6281        place.
6282
62832006-09-06 16:39  gb
6284
6285        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6286        stuff for x8664.
6287
62882006-09-06 16:39  gb
6289
6290        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6291        don't mix!
6292
62932006-09-06 16:38  gb
6294
6295        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6296
62972006-09-06 16:38  gb
6298
6299        * level-1/linux-files.lisp: process input/output: don't assume
6300        8-bit strings.
6301
63022006-09-06 14:42  gb
6303
6304        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6305        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6306        (since that creates confustion when cross-compiling from a
6307        non-poweropen host.)
6308
63092006-09-06 00:08  gb
6310
6311        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6312        8-bit char stuff.
6313
63142006-09-06 00:08  gb
6315
6316        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6317        here.
6318
63192006-09-05 22:49  gb
6320
6321        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6322        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6323
63242006-09-05 22:42  gb
6325
6326        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6327        of a non-simple string, understand char width issues.
6328
63292006-09-05 22:41  gb
6330
6331        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6332
63332006-09-05 22:40  gb
6334
6335        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6336        string type.
6337
63382006-09-05 22:39  gb
6339
6340        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6341
63422006-09-05 22:38  gb
6343
6344        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6345
63462006-09-05 09:13  gb
6347
6348        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6349        32-bit chars, too.
6350
63512006-09-05 09:01  gb
6352
6353        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6354        defaults to 32-bit chars.
6355
63562006-09-05 05:18  gb
6357
6358        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6359
63602006-09-05 05:18  gb
6361
6362        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6363        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6364
63652006-09-05 05:17  gb
6366
6367        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6368        for char size.
6369
63702006-09-05 05:16  gb
6371
6372        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6373        strings.
6374
63752006-09-05 05:15  gb
6376
6377        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6378        lisp_char_code; this may be more portable.
6379
63802006-09-05 05:14  gb
6381
6382        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6383
63842006-09-05 05:13  gb
6385
6386        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6387        8-bit char/strings.
6388
63892006-09-05 05:13  gb
6390
6391        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6392        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6393        the coding system in use.)
6394
63952006-09-05 05:09  gb
6396
6397        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6398        assume 8-bit strings.
6399
64002006-09-05 05:08  gb
6401
6402        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6403
64042006-09-05 05:07  gb
6405
6406        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6407        when #-target-8-bit-chars.
6408
64092006-09-05 05:06  gb
6410
6411        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6412        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6413
64142006-09-05 05:05  gb
6415
6416        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6417        :SIMPLE-STRING case with constant index.
6418
64192006-09-04 17:44  gb
6420
6421        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6422        "unsigned char", and cross fingers.
6423
64242006-09-04 17:38  gb
6425
6426        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6427        lisp_char_code type, use it when printing lisp string in the kernel
6428        debugger.
6429
64302006-09-04 17:28  gb
6431
6432        * level-1/version.lisp: Bump.
6433
64342006-09-04 17:18  gb
6435
6436        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6437        conditionalized backwards in PPC64 %INIT-MISC.
6438
64392006-09-04 17:05  gb
6440
6441        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6442        from the target arch (for bootstrapping.)
6443
64442006-09-04 17:04  gb
6445
6446        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6447        type of rdtab.ttab.
6448       
6449        Don't treat (code-char #xca) as whitespace; do treat (code-char
6450        #xa0) as whitespace.  (The former happens to be how the latter was
6451        encoded in MacRoman.)
6452       
6453        Handle U+<hex> syntax in NAME-CHAR.
6454
64552006-09-04 16:16  gb
6456
6457        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6458        and the char code with #xff to get the low byte.
6459
64602006-09-04 16:15  gb
6461
6462        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6463        and the char code with #xff or 255., not with #x255.  (Cause lots
6464        of wackiness, mostly in readtable initialization.)
6465
64662006-09-04 16:12  gb
6467
6468        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6469        u8->char (which is no more) in %CHAR-CODE.
6470
64712006-09-04 06:04  gb
6472
6473        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6474        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6475
64762006-09-04 06:03  gb
6477
6478        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6479        assertion.
6480
64812006-09-04 03:44  gb
6482
6483        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6484
64852006-09-04 03:43  gb
6486
6487        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6488        crf case of UNBOX-BASE-CHAR.
6489
64902006-09-04 02:30  gb
6491
6492        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6493        error.
6494
64952006-09-04 02:29  gb
6496
6497        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6498        size.
6499
65002006-09-04 02:26  gb
6501
6502        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6503        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6504        CHAR_SIZE_32.
6505
65062006-09-04 02:24  gb
6507
6508        * compiler/PPC/PPC32/ppc32-arch.lisp,
6509        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6510        compiler/PPC/PPC64/ppc64-arch.lisp,
6511        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6512        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6513
65142006-09-04 02:23  gb
6515
6516        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6517        32-bit characters.
6518
65192006-09-04 02:22  gb
6520
6521        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6522
65232006-09-03 16:03  gb
6524
6525        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6526        conditionalize new string types.
6527
65282006-09-03 16:03  gb
6529
6530        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6531        string element size.
6532
65332006-09-03 16:02  gb
6534
6535        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6536        level-0/l0-pred.lisp: Sketch out new string types (read-time
6537        conditionalized.)
6538
65392006-09-03 15:02  gb
6540
6541        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6542        bootstrapping.
6543
65442006-09-03 14:20  gb
6545
6546        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6547
65482006-09-03 13:22  gb
6549
6550        * compiler/: X86/X8664/x8664-backend.lisp,
6551        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6552        :target-8-bit-chars on target features.
6553
65542006-09-03 13:21  gb
6555
6556        * level-0/l0-int.lisp: Some comments/indentation.
6557
65582006-09-03 13:01  gb
6559
6560        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6561        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6562
65632006-09-02 11:24  gb
6564
6565        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6566
65672006-09-02 11:15  gb
6568
6569        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6570        a hex digit.
6571
65722006-09-02 11:11  gb
6573
6574        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6575        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6576       
6577        Don't do the whole msg_server here; just do the exc_server thing.
6578       
6579        Fix a couple of Mach exception-handling bugs; at least one more may
6580        remain.
6581
65822006-09-02 11:07  gb
6583
6584        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6585        pseudo_sigreturn.
6586       
6587        Still get spurious SIGTRAPs.
6588
65892006-09-02 11:06  gb
6590
6591        * lisp-kernel/thread_manager.c: Define some things in terms of
6592        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6593       
6594        sem_wait_forever() does repeated timed waits, since I thought that
6595        Darwin was having trouble interrpting things that waited
6596        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6597
65982006-09-02 11:03  gb
6599
6600        * lisp-kernel/Threads.h: Define some things in terms of
6601        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6602        2006, Darwin still doesn't implement enough POSIX semaphore
6603        functionality to make it possible to avoid the use of Mach
6604        semaphores.
6605
66062006-09-02 11:01  gb
6607
6608        * lib/db-io.lisp:
6609        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6610        involved.
6611
66122006-09-02 11:01  gb
6613
6614        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6615        aren't bogus objects.
6616
66172006-09-02 11:00  gb
6618
6619        * level-1/l1-streams.lisp: Try to avoid things like
6620        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6621
66222006-09-02 10:59  gb
6623
6624        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6625        FORCE-OUTPUT.
6626
66272006-09-02 10:57  gb
6628
6629        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6630        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6631       
6632        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6633        chars.
6634       
6635        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6636
66372006-09-02 10:55  gb
6638
6639        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6640        don't assume 8-bit chars.
6641
66422006-08-28 17:35  gb
6643
6644        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6645        misc_set_single_float_vector.
6646
66472006-08-28 17:01  gb
6648
6649        * xdump/faslenv.lisp: Bump max fasl version.
6650
66512006-08-28 16:48  gb
6652
6653        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6654
66552006-08-28 16:33  gb
6656
6657        * xdump/faslenv.lisp: Bump (max) fasl version.
6658
66592006-08-28 16:30  gb
6660
6661        * xdump/xfasload.lisp: xloader was missing a few new ops.
6662
66632006-08-28 05:34  gb
6664
6665        * xdump/xfasload.lisp: New string stuff here, too.
6666
66672006-08-28 05:28  gb
6668
6669        * level-0/nfasload.lisp: New string stuff.
6670
66712006-08-28 04:57  gb
6672
6673        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6674        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6675
66762006-08-28 04:57  gb
6677
6678        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6679        STREAM-READ-CHAR, since it may be faster in some cases.
6680
66812006-08-28 04:56  gb
6682
6683        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6684        (don't assume ioblock-based stream.)
6685
66862006-08-28 04:55  gb
6687
6688        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6689
66902006-08-28 04:55  gb
6691
6692        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6693         (Maybe not even cosmetic.)
6694
66952006-08-28 04:54  gb
6696
6697        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6698        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6699
67002006-08-28 04:53  gb
6701
6702        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6703
67042006-08-28 04:52  gb
6705
6706        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6707        ?  For how long will limit be 2^8 ?
6708
67092006-08-28 04:51  gb
6710
6711        * level-0/nfasload.lisp: More fasl ops.
6712
67132006-08-28 04:51  gb
6714
6715        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6716        u8-vref stuff.
6717
67182006-08-28 04:50  gb
6719
6720        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6721        not be the best way to do this.
6722
67232006-08-26 13:58  gb
6724
6725        * release-notes.txt: Updated.
6726
67272006-08-26 13:50  gb
6728
6729        * release-notes.txt: Updated.
6730
67312006-08-26 13:50  gb
6732
6733        * darwin-x86-headers64/libc/.cvsignore: Added.
6734
67352006-08-26 03:17  gb
6736
6737        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6738
67392006-08-26 03:12  gb
6740
6741        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6742        problems as always, but avoids problems with Darwin x86-64 ld64
6743        segfaulting for unknown reasons.
6744
67452006-08-26 03:11  gb
6746
6747        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6748        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6749        that we can't just return to after switching off of the alt stack.)
6750
67512006-08-26 03:08  gb
6752
6753        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6754        deciding whether or not to signal overflow.
6755
67562006-08-26 03:08  gb
6757
6758        * level-1/x86-trap-support.lisp: Need an indirection to access
6759        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6760        mcontext64.ss.
6761
67622006-08-26 03:06  gb
6763
6764        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6765        easier to step through.
6766
67672006-08-26 03:05  gb
6768
6769        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6770        in case.
6771
67722006-08-25 20:35  gb
6773
6774        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6775        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6776        REMOVE-AUTO-FLUSH-STREAM.
6777       
6778        Export them, too.
6779
67802006-08-25 20:22  gb
6781
6782        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6783        STREAM-READ-LINE.
6784
67852006-08-25 20:22  gb
6786
6787        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6788        most once but doesn't have to be the last clause.
6789
67902006-08-25 20:21  gb
6791
6792        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6793        INPUT-STREAM.
6794       
6795        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6796
67972006-08-25 20:19  gb
6798
6799        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6800        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6801        so unlock those streams with extreme prejudice before closing them.
6802
68032006-08-25 20:18  gb
6804
6805        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6806        code that assumed that interfered with handling of relative logical
6807        pathnames.
6808
68092006-08-25 20:17  gb
6810
6811        * level-1/l1-events.lisp: Rename EVENT-POLL to
6812        AUTO-FLUSH-INTERACTIVE-STREAMS.
6813       
6814        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6815        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6816        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6817       
6818        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6819       
6820        REMOVE-AUTOFLUSH-STREAM.
6821
68222006-08-25 20:13  gb
6823
6824        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6825        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6826
68272006-08-23 22:59  gb
6828
6829        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6830        SIGFPE.
6831       
6832        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6833
68342006-08-23 22:58  gb
6835
6836        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6837        pretty casual about causing spurious exceptions, so ignore them.
6838
68392006-08-23 22:57  gb
6840
6841        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6842        version, with different signals to be ignored by gdb.
6843
68442006-08-23 22:56  gb
6845
6846        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6847        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6848        Use int $0 instead.
6849
68502006-08-23 22:55  gb
6851
6852        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6853        support; may need more work.
6854
68552006-08-22 02:08  gb
6856
6857        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6858        for printing integers), since it seems to need access to pthread
6859        data (and calling print_lisp_object() from GDB might fail if %gs is
6860        pointing at the lisp TCR.)
6861
68622006-08-22 02:06  gb
6863
6864        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6865        earlier in _SPffcall, before entering foreign context.  (Need to
6866        check PPC version(s) as well.)
6867       
6868        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6869        between foreign code and lisp.
6870
68712006-08-22 02:04  gb
6872
6873        * lisp-kernel/x86-macros.s: Fix a typo.
6874
68752006-08-22 02:04  gb
6876
6877        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6878
68792006-08-22 02:03  gb
6880
6881        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6882        exception handling code.
6883       
6884        Do the DARWIN_GS_HACK things to overload %gs.
6885
68862006-08-22 02:02  gb
6887
6888        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6889        for DarwinX8664.
6890
68912006-08-22 02:01  gb
6892
6893        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6894        should really have tested WORD_SIZE.
6895       
6896        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6897        not be necessary.)
6898       
6899        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6900
69012006-08-22 01:59  gb
6902
6903        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6904        x8664.
6905       
6906        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6907
69082006-08-22 01:58  gb
6909
6910        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6911        FreeBSDX664, DarwinX8664.
6912
69132006-08-22 01:57  gb
6914
6915        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6916        lower seg1addr.
6917       
6918        Something in the (m4-generated) symbolic info in some .s files is
6919        screwy and causes ld64 to segfault; it's currently necesssary to
6920        use "strip -S" on the assembler-generated .o files.
6921
69222006-08-22 01:55  gb
6923
6924        * scripts/openmcl64: Untested changes for Darwinx8664.
6925
69262006-08-22 01:54  gb
6927
6928        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6929        xload-backend-info (compiler target is :darwinx8664, not
6930        :linuxx8664).
6931
69322006-08-22 01:53  gb
6933
6934        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6935        cross-compiling to x86 from x86.
6936
69372006-08-22 01:52  gb
6938
6939        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6940        (not :DARWINPPC-TARGET).
6941
69422006-08-22 01:50  gb
6943
6944        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6945
69462006-08-22 01:50  gb
6947
6948        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6949
69502006-08-22 01:49  gb
6951
6952        * level-1/version.lisp: Bump.
6953
69542006-08-22 01:49  gb
6955
6956        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6957        BASIC-STREAMs.
6958
69592006-08-22 01:48  gb
6960
6961        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
6962        DARWIN-TARGET, not DARWINPPC-TARGET.
6963
69642006-08-22 01:47  gb
6965
6966        * level-0/l0-init.lisp: DarwinX8664 *features*.
6967
69682006-08-22 01:47  gb
6969
6970        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
6971        really want to be DARWIN-TARGET.
6972
69732006-08-22 01:46  gb
6974
6975        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
6976        DarwinX8664.
6977
69782006-08-22 01:45  gb
6979
6980        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
6981        compiling natively.
6982       
6983        Fix X862-FIXUP-FWD-REFS if not native function on x86.
6984
69852006-08-22 01:44  gb
6986
6987        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
6988        is defined, even on x86.  Use it if not compiling natively on x86.
6989
69902006-08-20 23:59  gb
6991
6992        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
6993
69942006-08-20 23:58  gb
6995
6996        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
6997
69982006-08-20 23:58  gb
6999
7000        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7001        prototypes for DARWIN_GS_HACK %gs segment switching.
7002
70032006-08-20 23:57  gb
7004
7005        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7006        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7007       
7008        This isn't so bad, but doing it around every ff-call might be.
7009
70102006-08-20 23:56  gb
7011
7012        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7013
70142006-08-20 23:53  gb
7015
7016        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7017
70182006-08-20 23:51  gb
7019
7020        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7021
70222006-08-20 23:51  gb
7023
7024        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7025        also temporary.
7026
70272006-08-20 23:50  gb
7028
7029        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7030        mcontext64 in x8664 Darwin is temporary.
7031
70322006-08-20 20:35  gb
7033
7034        * library/darwinx664-syscalls.lisp: typo
7035
70362006-08-20 20:35  gb
7037
7038        * library/darwinx8664-syscalls.lisp: spell name right
7039
70402006-08-20 17:10  gb
7041
7042        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7043
70442006-08-20 17:10  gb
7045
7046        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7047        (do other things still use read-time conditionals ?)
7048
70492006-08-20 17:09  gb
7050
7051        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7052        setup syscall mask.
7053
70542006-08-20 17:08  gb
7055
7056        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7057        well.
7058
70592006-08-20 17:06  gb
7060
7061        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7062        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7063        word-size issues.)
7064
70652006-08-20 17:03  gb
7066
7067        * library/darwinppc-syscalls.lisp: Mask for PPC.
7068
70692006-08-20 17:02  gb
7070
7071        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7072        level-1/linux-files.lisp: Syscall conditionalization.
7073
70742006-08-20 17:01  gb
7075
7076        * level-1/l1-streams.lisp: Syscall conditionalization.
7077       
7078        SELECTION-INPUT-STREAM created with :sharing :lock.
7079
70802006-08-20 17:00  gb
7081
7082        * examples/objc-runtime.lisp: Fencepost in
7083        POINTER-IN-CFSTRING-SECTION-P.
7084
70852006-08-20 16:16  gb
7086
7087        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7088
70892006-08-18 09:50  gb
7090
7091        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7092        x8664.  Should do this on PPC as well, and should probably offer
7093        some backward-compatible behavior for reader.
7094
70952006-08-18 09:47  gb
7096
7097        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7098        backend a little.
7099       
7100        Explicily define lisp-context-register slot in each backend (%gs
7101        for those imolementations that follow the standard ABI, %fs for
7102        Darwin.)
7103
71042006-08-18 09:44  gb
7105
7106        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7107        necessary.
7108
71092006-08-18 09:43  gb
7110
7111        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7112        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7113        slot.
7114
71152006-08-18 09:42  gb
7116
7117        * compiler/backend.lisp: Backend now has a lisp-context-register
7118        slot.
7119
71202006-08-18 09:42  gb
7121
7122        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7123
71242006-08-18 09:40  gb
7125
7126        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7127        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7128        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7129        and play like the other children.
7130
71312006-08-18 09:29  gb
7132
7133        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7134        code from the PPC version and tweak it a little; needs more work.
7135
71362006-08-18 09:27  gb
7137
7138        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7139        conditionalization.
7140
71412006-08-18 09:25  gb
7142
7143        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7144       
7145        Generate an equate for HAVE_TLS.
7146
71472006-08-18 09:23  gb
7148
7149        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7150
71512006-08-18 09:19  gb
7152
7153        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7154        absolute jumps, prefers slower ones.
7155       
7156        Move lock prefixes to their own lines, to satisfy you-know-who.
7157       
7158        If we don't have thread-local-storage (TLS), it's hard to avoid the
7159        get_tcr() call on each calback.
7160
71612006-08-18 09:13  gb
7162
7163        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7164        that we HAVE_TLS.
7165
71662006-08-17 10:41  phil
7167
7168        * examples/FFI/:
7169        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7170        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7171        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7172        Using-basic-calls-and-types/Readme.rtf,
7173        Using-basic-calls-and-types/typetest-compile.sh,
7174        Using-basic-calls-and-types/typetest.c,
7175        Using-basic-calls-and-types/typetest.lisp: Initial version
7176
71772006-08-17 10:40  phil
7178
7179        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7180        [no log message]
7181
71822006-08-08 13:07  gb
7183
7184        * lisp-kernel/darwinx8664/Makefile: New file.
7185
71862006-08-08 13:07  gb
7187
7188        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7189
71902006-08-08 13:06  gb
7191
7192        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7193
71942006-08-08 13:05  gb
7195
7196        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7197        instructions on the same line as the locked instruction.  (Maybe
7198        there's a better way to do this, than just pretending that lock is
7199        a standalone instruction, but that lock instruction does seem to be
7200        treated as a prefix.)
7201
72022006-08-08 13:03  gb
7203
7204        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7205        dlfcn) on Darwin.
7206
72072006-08-08 13:02  gb
7208
7209        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7210        doesn't define mcontext64, but lots of other things reference it.
7211        #define it here for now, but that'll likely break when the headers
7212        are fixed.
7213
72142006-08-08 12:58  gb
7215
7216        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7217
72182006-08-08 12:58  gb
7219
7220        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7221        x8664/Darwin.
7222
72232006-07-29 08:41  gb
7224
7225        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7226         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7227        needs READ/WRITE- SEQUENCE support.
7228
72292006-07-29 07:39  gb
7230
7231        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7232        lock.  TODO: evaluate whether resources are worthwhile;  used for
7233        string-output-stream allocation and DELETE-DUPLICATES.
7234
72352006-07-29 06:27  gb
7236
7237        * library/lispequ.lisp: Resources aren't thread-private, need
7238        locks.
7239
72402006-07-29 06:26  gb
7241
7242        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7243        BASIC-STREAMs.
7244
72452006-07-29 06:26  gb
7246
7247        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7248        default.
7249
72502006-07-29 06:25  gb
7251
7252        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7253        been used in 10 or 12 years.
7254
72552006-07-29 03:40  gb
7256
7257        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7258
72592006-07-29 03:40  gb
7260
7261        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7262        for now.
7263
72642006-07-29 03:39  gb
7265
7266        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7267        makes one more slot in BASIC-FILE-STREAM.
7268
72692006-07-28 04:17  gb
7270
7271        * level-1/version.lisp: Bump.
7272
72732006-07-28 04:15  gb
7274
7275        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7276        in IOBLOCK.
7277
72782006-07-28 01:17  gb
7279
7280        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7281
72822006-07-28 01:16  gb
7283
7284        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7285
72862006-07-28 00:58  gb
7287
7288        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7289        output.
7290       
7291        (SLIME probably faces the same issue; should probably do something
7292        in the auto-flush case.  Of course, it's hard to know just what to
7293        do in that case. or at least what to do safely in that case.)
7294
72952006-07-28 00:49  gb
7296
7297        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7298        FUNDAMENTAL-FILE-STREAM.
7299
73002006-07-28 00:49  gb
7301
7302        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7303
73042006-07-28 00:48  gb
7305
7306        * library/lispequ.lisp: Need an explicit
7307        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7308
73092006-07-28 00:47  gb
7310
7311        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7312
73132006-07-25 03:48  gb
7314
7315        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7316
73172006-07-24 04:55  gb
7318
7319        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7320        BASIC-STREAMs.
7321
73222006-07-24 04:55  gb
7323
7324        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7325        appear.
7326
73272006-07-24 04:51  gb
7328
7329        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7330
73312006-07-24 02:43  gb
7332
7333        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7334        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7335        implementation of it (and BASIC-FILE-STREAM soon will be.)
7336
73372006-07-23 03:05  gb
7338
7339        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7340
73412006-07-23 03:03  gb
7342
7343        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7344        and is inlined.
7345       
7346        Some bug fixes; STREAM class no longer has slots.
7347       
7348        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7349        variants; fix read-byte botch (should vector according to
7350        element-type.)
7351
73522006-07-23 02:54  gb
7353
7354        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7355        STREAM-IOBLOCK now takes 2 required args.
7356
73572006-07-23 02:54  gb
7358
7359        * level-1/version.lisp: Bump.
7360
73612006-07-23 02:53  gb
7362
7363        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7364        like.
7365
73662006-07-23 02:53  gb
7367
7368        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7369       
7370        Likewise WITH-EAGAIN.
7371
73722006-07-23 01:12  gb
7373
7374        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7375        l1-sockets.lisp: Fix a few botches.
7376       
7377        :private arg to stream creation primitives replaced with :sharing,
7378        which can have values:
7379       
7380         :private (the default; stream can only be accessed by the creating
7381        thread)
7382         :lock  (the old, often slow, default); most accesses to stream
7383        involve locking
7384         :nil or :external (stream code doesn't enforce exclusion).
7385
73862006-07-22 23:57  gb
7387
7388        * level-1/l1-streams.lisp: Bootstrapping stuff.
7389       
7390        Move along, nothing to see here.
7391
73922006-07-20 03:43  gb
7393
7394        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7395        l1-sysio.lisp: First (rough) cut at making streams "private"
7396        (effectively always locked by the "owning" thread) to reduce some
7397        locking overhead.  More to come, some of which will be a little
7398        tricky to bootstrap.
7399
74002006-07-20 01:09  gb
7401
7402        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7403        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7404        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7405
74062006-07-20 01:09  gb
7407
7408        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7409
74102006-07-20 01:08  gb
7411
7412        * level-1/version.lisp: Bump.
7413
74142006-07-20 01:07  gb
7415
7416        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7417         A little tricky to bootstrap.
7418
74192006-07-20 01:05  gb
7420
7421        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7422        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7423        (istruct-based) lisp-thread accessors.
7424
74252006-07-20 01:02  gb
7426
7427        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7428        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7429        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7430        BASIC-STREAM.
7431
74322006-07-15 15:02  gb
7433
7434        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7435        IMPOSSIBLE-NUMBER condition :REPORT method.
7436
74372006-07-15 15:00  gb
7438
7439        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7440        simple vector operations unless we're sure that the vector is a
7441        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7442        leaping into the simple-typed-vector case when the element-type was
7443        known but the vector wasn't known to be SIMPLE.
7444
74452006-07-14 05:57  gb
7446
7447        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7448
74492006-07-13 16:01  gb
7450
7451        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7452        know about FIXNUM arrays.
7453
74542006-07-11 14:23  gb
7455
7456        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7457        (2-address instructions) in natural logical, arithmetic operations.
7458
74592006-07-05 02:38  gb
7460
7461        * release-notes.txt: Update.
7462
74632006-07-05 02:22  gb
7464
7465        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7466        its removal needs to be better publicized.
7467
74682006-07-04 22:24  gb
7469
7470        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7471        PROGRAM arg to RUN-PROGRAM.
7472
74732006-07-04 22:23  gb
7474
7475        * level-1/version.lisp: Bump.
7476
74772006-06-29 02:11  gb
7478
7479        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7480        image-abi-version.
7481
74822006-06-28 05:24  gb
7483
7484        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7485        pointer on DarwinPPC32 (at the very least, that platform's
7486        xFindSymbol gets confused by anything but a null pointer/global
7487        lookup.)
7488
74892006-06-28 05:09  gb
7490
7491        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7492        "Alpha", which may be a bit generous (pretty regular deadlock,
7493        random thread creation errors, other bugs.)
7494
74952006-06-28 05:07  gb
7496
7497        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7498        x86-64 version.
7499
75002006-06-28 04:04  gb
7501
7502        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7503        identifying the cause of XMM FP exceptions.  Try to do that by
7504        looking at MXCSR bits.
7505
75062006-06-28 04:03  gb
7507
7508        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7509        indicate error return.
7510
75112006-06-28 04:03  gb
7512
7513        * level-1/: l1-sockets.lisp, linux-files.lisp,
7514        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7515
75162006-06-28 04:02  gb
7517
7518        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7519        breakpoint.
7520
75212006-06-27 18:08  gb
7522
7523        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7524
75252006-06-27 17:30  gb
7526
7527        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7528
75292006-06-27 17:27  gb
7530
7531        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7532        portable; possibly break it completely ...
7533
75342006-06-27 08:55  gb
7535
7536        * lisp-kernel/x86-exceptions.c: map the altstack
7537        read/write/execute.
7538
75392006-06-27 08:54  gb
7540
7541        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7542        FreeBSD.
7543
75442006-06-27 08:54  gb
7545
7546        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7547        <pthread_np.h>
7548
75492006-06-27 08:53  gb
7550
7551        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7552        :freebsdx8664.
7553
75542006-06-27 08:53  gb
7555
7556        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7557        testing.)
7558       
7559        Don't conditionalize as much code. Indices/offsets are
7560        platform-specific, but accessors defiend in terms of them needn't
7561        be.
7562
75632006-06-27 08:51  gb
7564
7565        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7566        comment.)
7567
75682006-06-27 08:50  gb
7569
7570        * level-0/l0-init.lisp: More freebsd x8664 features.
7571
75722006-06-27 08:50  gb
7573
7574        * scripts/openmcl64: Update for FreeBSD/amd64.
7575
75762006-06-27 08:47  gb
7577
7578        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7579        :freebsdx8664-target as a target-specific-feature.
7580
75812006-06-27 05:05  gb
7582
7583        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7584        freebsd8664/elf_x86_64.x: directory rename
7585
75862006-06-27 04:59  gb
7587
7588        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7589
75902006-06-27 04:47  gb
7591
7592        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7593
75942006-06-27 04:46  gb
7595
7596        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7597        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7598
75992006-06-27 04:45  gb
7600
7601        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7602       
7603        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7604
76052006-06-27 04:44  gb
7606
7607        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7608        suspend_resume_handler.
7609
76102006-06-27 04:44  gb
7611
7612        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7613        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7614
76152006-06-27 04:43  gb
7616
7617        * lisp-kernel/imports.s: Don't import metering-control; do import
7618        get_r_debug().
7619
76202006-06-27 04:42  gb
7621
7622        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7623        word-size stuff (here and in other versions.)
7624
76252006-06-27 04:42  gb
7626
7627        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7628        FreeBSD.
7629
76302006-06-27 04:39  gb
7631
7632        * lib/foreign-types.lisp: Signed char nonsense (should use target
7633        ftd, not reader macros here.)
7634
76352006-06-27 04:38  gb
7636
7637        * lib/compile-ccl.lisp: Some FreeBSD support.
7638
76392006-06-27 04:36  gb
7640
7641        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7642        Some FreeBSD changes/conditionalization. Maybe not enough.
7643
76442006-06-27 04:35  gb
7645
7646        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7647
76482006-06-27 04:34  gb
7649
7650        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7651
76522006-06-27 04:34  gb
7653
7654        * level-0/l0-io.lisp: FreeBSD syscalls.
7655
76562006-06-27 04:33  gb
7657
7658        * level-0/l0-init.lisp: Some FreeBSD features.
7659
76602006-06-27 04:33  gb
7661
7662        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7663        changes.
7664       
7665        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7666        and test.
7667       
7668        Now depends on an imported lisp-kernel function on ELF platforms
7669        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7670
76712006-06-27 04:30  gb
7672
7673        * level-0/.cvsignore: Ignore *fsl.
7674
76752006-06-27 04:29  gb
7676
7677        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7678        in freebsd backend.
7679
76802006-06-27 04:27  gb
7681
7682        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7683        metering-control; do import get-r-debug (for Elf shared libraries.)
7684       
7685        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7686
76872006-06-27 04:26  gb
7688
7689        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7690        Don't import metering-control; do import get-r-debug (for Elf
7691        shared libraries.)
7692
76932006-06-27 04:26  gb
7694
7695        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7696
76972006-06-26 16:38  gb
7698
7699        * compiler/X86/X8664/x8664-vinsns.lisp:
7700        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7701        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7702        constant #xffff000000000000 come from ?
7703
77042006-06-26 16:35  gb
7705
7706        * compiler/X86/x862.lisp: Fix some indentation.
7707
77082006-06-25 20:32  gb
7709
7710        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7711        change initialiation of x8664 foreign-type stuff.
7712
77132006-06-25 20:31  gb
7714
7715        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7716
77172006-06-23 19:52  gb
7718
7719        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7720        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7721
77222006-06-23 19:28  gb
7723
7724        * release-notes.txt: Update some.
7725
77262006-06-23 19:11  gb
7727
7728        * examples/gtk2-clock.lisp: New file.
7729
77302006-06-23 18:56  gb
7731
7732        * level-1/version.lisp: Bump.
7733
77342006-06-23 18:52  gb
7735
7736        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7737
77382006-06-22 13:39  gb
7739
7740        * x86-headers64/gnome2/C/.cvsignore: new
7741
77422006-06-22 13:36  gb
7743
7744        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7745
77462006-06-22 13:33  gb
7747
7748        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7749        gnome2/.cvsignore: new
7750
77512006-06-22 13:30  gb
7752
7753        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7754
77552006-06-22 13:28  gb
7756
7757        * level-1/version.lisp: Bump.
7758
77592006-06-21 15:15  gb
7760
7761        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7762        ppc-spentry.s: Define new string subtags; handle them in ppc64
7763        misc_ref/misc_set.
7764
77652006-06-21 15:14  gb
7766
7767        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7768        versions) to handle FIXNUM vectors, new UCS4 strings.
7769
77702006-06-21 15:14  gb
7771
7772        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7773        versions) to handle FIXNUM vectors, new UCS4 strings.
7774
77752006-06-21 15:12  gb
7776
7777        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7778        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7779        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7780
77812006-06-21 15:11  gb
7782
7783        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7784
77852006-06-21 15:11  gb
7786
7787        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7788        wasn't updated with the introduction of fixnum vectors, (unused)
7789        UCS4 "new"strings.
7790
77912006-06-16 03:50  gb
7792
7793        * examples/objc-support.lisp: Re-compute static NSString info after
7794        opening an extension framework.
7795
77962006-06-16 03:45  gb
7797
7798        * examples/webkit.lisp: Use new functions for augmenting
7799        interfaces, loading framework.
7800
78012006-06-16 03:43  gb
7802
7803        * examples/objc-runtime.lisp: Juggle things around so that add-on
7804        framework bundles get loaded on appication re-launch.
7805       
7806        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7807        since (a) it may not be there, or may not be where we can find it
7808        yet and (b) it's probably more reasonable to do that than it would
7809        be to teach CLOS about classes that're "discovered" when the
7810        appication's launched on a newer OS release than it was saved on.
7811
78122006-06-16 03:39  gb
7813
7814        * examples/cocoa-application.lisp: Touch tha application bundle
7815        before saving an image into it.  That -may- convincve
7816        LaunchServices to do the right thing.
7817
78182006-06-16 03:38  gb
7819
7820        * examples/objc-support.lisp: Reload any addon/framework bundles
7821        that had been loaded before the image was saved when starting a
7822        bundled application.
7823       
7824        Juggle things around, so that that works (need to be able to use
7825        low-level bridge features early.)
7826
78272006-06-16 03:36  gb
7828
7829        * lib/db-io.lisp: Disable the #? reader macro.
7830
78312006-06-14 15:42  gb
7832
7833        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7834        lfun-bits.
7835
78362006-06-12 20:24  gb
7837
7838        * lib/ppc-backtrace.lisp: PPC version of
7839        %find-register-argument-value had the same sort of fencepost as the
7840        x86-64 version had a few days ago.
7841
78422006-06-10 23:52  gb
7843
7844        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7845        its GENERIC-FUNCTION-LAMBDA-LIST.
7846
78472006-06-10 23:51  gb
7848
7849        * level-1/l1-clos.lisp: Give reader/writer method args more
7850        descriptive names. (Barely more descriptive ...)
7851
78522006-06-10 19:25  gb
7853
7854        * level-1/l1-clos-boot.lisp: Arrgh.  In
7855        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7856        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7857        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7858       
7859        This was keeping non-standard instances - like ObjC classes and
7860        metaclasses - from having some of their slots initialized
7861        correctly.
7862
78632006-06-10 19:22  gb
7864
7865        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7866        objc-metaclass: don't die if the class is unnamed (makes it easier
7867        to print classes for debugging during initialization.)
7868
78692006-06-10 13:05  gb
7870
7871        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7872        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7873
78742006-06-08 05:01  gb
7875
7876        * release-notes.txt: Update a bit.
7877
78782006-06-08 03:56  gb
7879
7880        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7881        image-abi-version.
7882
78832006-06-08 03:46  gb
7884
7885        * xdump/faslenv.lisp: Bump (min) fasl version.
7886
78872006-06-08 03:35  gb
7888
7889        * lib/nfcomp.lisp: Bump (current) fasl-version.
7890
78912006-06-08 03:28  gb
7892
7893        * lisp-kernel/linuxx8664/Makefile: -O2.
7894
78952006-06-08 03:26  gb
7896
7897        * xdump/faslenv.lisp: Bump (max) fasl version.
7898
78992006-06-08 03:18  gb
7900
7901        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7902        doubt and claim that it's a beta.
7903
79042006-06-08 03:18  gb
7905
7906        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7907
79082006-06-08 03:17  gb
7909
7910        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7911        options; enable -O2.
7912
79132006-06-08 02:55  gb
7914
7915        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7916        Handle suspend (and maybe someday resume, again) signals on the
7917        altstack, since we don't really want a signal context in the middle
7918        of the tagged lisp stack ...
7919
79202006-06-08 02:52  gb
7921
7922        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7923        PLATFORM-exceptions.c; some constants/prototypes moved to
7924        Threads.h.
7925
79262006-06-08 02:51  gb
7927
7928        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7929        via install_signal_handler(); thread_signal_setup() moved here, to
7930        do that installation.
7931
79322006-06-08 02:50  gb
7933
7934        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7935       
7936        Don't call (or define) prepare_for_the_worst(), which is kind of
7937        too bad ...
7938
79392006-06-08 02:49  gb
7940
7941        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7942
79432006-06-08 01:11  gb
7944
7945        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7946        let OPTIMIZE proclamations persist beyond the LOAD.
7947
79482006-06-07 21:45  gb
7949
7950        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7951
79522006-06-07 21:38  gb
7953
7954        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7955        MMX regs.  Do maintain them in TCR.
7956
79572006-06-07 21:37  gb
7958
7959        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
7960        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
7961        temporary (old tsp), finish frame by storing into tcr.save_tsp.
7962
79632006-06-07 21:34  gb
7964
7965        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
7966
79672006-06-07 21:33  gb
7968
7969        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
7970        %stack_temp.
7971
79722006-06-07 21:32  gb
7973
7974        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
7975
79762006-06-07 21:30  gb
7977
7978        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
7979        now.
7980
79812006-06-07 21:30  gb
7982
7983        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
7984        (since it no longer exists ...).  Use %stack-temp in some cases.
7985
79862006-06-07 21:29  gb
7987
7988        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
7989        %stack-temp is a symbolic name for an MMX register that can be used
7990        for (e.g.) linking frames on the temp/foreign stacks (or for any
7991        other purpose ...)
7992
79932006-06-07 15:29  gb
7994
7995        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
7996        tcr.next_tsp in sync with %next_tsp Check to ensure that
7997        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
7998        allocating on the temp stack.  (This will soon change, so that %tsp
7999        and %next_tsp will not be canonical and the tcr fields are, then
8000        will change so that %tsp and %next_tsp will cease to exist.)
8001
80022006-06-07 15:25  gb
8003
8004        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8005
80062006-06-07 15:25  gb
8007
8008        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8009        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8010        a temporary.
8011
80122006-06-07 15:23  gb
8013
8014        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8015        don't need FP regs for this.  (They're sometimes invalid and
8016        sometimes missing, which is the point of recent changes.)
8017
80182006-06-07 15:21  gb
8019
8020        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8021        to %Rnext_tsp to avoid potential m4 lossage.
8022
80232006-06-07 15:20  gb
8024
8025        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8026
80272006-06-07 15:20  gb
8028
8029        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8030
80312006-06-07 15:19  gb
8032
8033        * level-1/version.lisp: Bump.
8034
80352006-06-07 15:19  gb
8036
8037        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8038
80392006-06-07 15:18  gb
8040
8041        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8042        foreign-sp register (though some code still uses %mm5 as a
8043        temporary, the "canonical" foreign SP is maintained in the TCR.)
8044
80452006-06-07 04:52  gb
8046
8047        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8048        frame, get the foreign SP out of the TCR.
8049
80502006-06-07 04:52  gb
8051
8052        * compiler/X86/X8664/x8664-vinsns.lisp,
8053        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8054        maintain the foreign sp in both the TCR and the MMX register, but
8055        consider the TCR version to be canonical.
8056
80572006-06-07 02:46  gb
8058
8059        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8060        %tsp MMX register doesn't match the value in the tcr, trap.
8061        Likewise for %foreign-sp.
8062
80632006-06-07 01:29  gb
8064
8065        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8066        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8067        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8068       
8069        (The idea is to keep the temp/foreign stack pointers in the tcr and
8070        only use the MMX registers as temporaries, since it seems that
8071        handlers for asynchronous signals can't count on the MMX register
8072        values in the signal context being correct.  This seems to either
8073        be a Linux kernel bug or ill-considered if it's intentional
8074        behavior, but it seems better to work around it this way.)
8075       
8076        This is just an early step in bootstrapping that change; it's being
8077        checked into CVS so that it doesn't get lost (and so that I can
8078        recover to this point if/when I hose things on a later step.)
8079
80802006-06-07 01:24  gb
8081
8082        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8083        tcr.
8084
80852006-06-07 01:22  gb
8086
8087        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8088        next_tsp slot to the tcr.
8089
80902006-06-06 04:25  gb
8091
8092        * lib/ppc-metering.lisp: no hope
8093
80942006-06-06 04:22  gb
8095
8096        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8097        frame (cfp argument) could be an exception callback frame (xcf-p
8098        may be true of it), in which case the saved register value is in
8099        the xcf.xp context.  (Basically, this means look at the first frame
8100        if it's an xcf, otherwise skip it and start with the child.)
8101
81022006-06-06 01:48  gb
8103
8104        * compiler/X86/x86-lapmacros.lisp,
8105        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8106        Using imul to box fixnums is smaller and seems to be faster than
8107        using lea with a scale factor.
8108
81092006-06-05 23:56  gb
8110
8111        * lisp-kernel/thread_manager.c: I don't think that
8112        suspend_resume_handler wants to have suspend signals unmasked, does
8113        it ?
8114
81152006-06-05 12:43  gb
8116
8117        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8118
81192006-06-03 03:11  gb
8120
8121        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8122        last catch frame, do skip others (test was backwards.  As it
8123        probably had been in the single-value case at one point.)
8124
81252006-06-02 03:48  gb
8126
8127        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8128        *terminal-io*; do print it to *trace-output*.
8129
81302006-06-01 20:20  gb
8131
8132        * level-0/l0-array.lisp: There's a T in subtag.
8133
81342006-06-01 20:17  gb
8135
8136        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8137       
8138        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8139       
8140        correctly.
8141
81422006-06-01 20:16  gb
8143
8144        * compiler/nx0.lisp: Defvars for global optimization quantities
8145        moved to level-0.
8146
81472006-06-01 20:15  gb
8148
8149        * level-1/l1-files.lisp: Bind the variables which hold global
8150        compiler optimization quantities, since people persist in doing
8151        things like:
8152       
8153        (declaim (optimize
8154        <something-that-they-probably-think-has-local-effects>))
8155       
8156        without bothering to use EVAL-WHEN or otherwise thinking very
8157        clearly.
8158       
8159        Note that this means that anyone who wanted such a declamation to
8160        have persistent global effects is now SOL.  Blame whoever wrote
8161        (for instance) clx/glx.lisp.
8162
81632006-06-01 20:11  gb
8164
8165        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8166        be referenced early in the cold load.
8167
81682006-06-01 13:13  gb
8169
8170        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8171        pointer to ENCODED-GPR-LISP if we have to get the register value
8172        from an exception frame.
8173
81742006-05-30 19:27  gwking
8175
8176        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8177        1.98)
8178
81792006-05-30 17:12  gb
8180
8181        * level-1/version.lisp: bump again.
8182
81832006-05-30 16:31  gb
8184
8185        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8186        ensure that tcr.xframe is updated from the catch frame (a) in all
8187        execution paths and (b) before RSP is updated.
8188
81892006-05-30 16:30  gb
8190
8191        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8192        vectors.
8193
81942006-05-30 16:29  gb
8195
8196        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8197
81982006-05-30 16:29  gb
8199
8200        * release-notes.txt: Update some more ...
8201
82022006-05-30 16:23  gb
8203
8204        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8205        Apparently.
8206
82072006-05-30 16:15  gb
8208
8209        * release-notes.txt: updated
8210
82112006-05-30 01:58  gb
8212
8213        * level-1/version.lisp: Bump.
8214
82152006-05-30 01:48  gb
8216
8217        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8218        made copies of the signal context and siginfo on the foreign stack,
8219        don't pass the originals to interrupt_handler().
8220       
8221        (altstack_interrupt_handler() looks suspiciously like
8222        altstack_signal_handler(), which probably had the same bug a few
8223        months ago ...)
8224       
8225        Since the alternate signal stack (as we use it) isn't reentrant,
8226        the next signal (perhaps a suspend signal) overwrote the context.
8227        Which is one reason to have made a copy in the first place ...
8228
82292006-05-30 01:43  gb
8230
8231        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8232        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8233        timeout is a good idea here, make sure that the timeout isn't
8234        fooled by #$EINTR.
8235
82362006-05-30 01:39  gb
8237
8238        * level-1/linux-files.lisp: Rename the old
8239        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8240        since it basically waits indefinitely.
8241       
8242        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8243        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8244        a "timed wait" that handles interruptions, etc. when the caller
8245        just has a "raw" (native) semaphore.
8246       
8247        Change callers, endure warnings.  New binaries soon.
8248
82492006-05-30 01:36  gb
8250
8251        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8252        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8253
82542006-05-29 22:34  gb
8255
8256        * lisp-kernel/x86-exceptions.c: The
8257        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8258        too small ...
8259
82602006-05-29 14:03  gb
8261
8262        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8263        syscall-based getcwd (it doesn't work as it once did/is documented
8264        to on linuxx8664); use the library function on all platforms.
8265
82662006-05-29 14:02  gb
8267
8268        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8269        processing interrupt.
8270
82712006-05-28 17:01  gb
8272
8273        * lisp-kernel/ppc-exceptions.c: If we handle a
8274        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8275       
8276        Back out of the hack that tried to work around a Darwin bug (FP
8277        exception flags were cleared in the MSR after a thread had been
8278        interrupted via pthread_kill()), since the fix seems not to be
8279        GC-safe.
8280       
8281        Add some debugging code to print when the exception lock is
8282        acquired/released.
8283
82842006-05-28 01:10  gb
8285
8286        * level-1/solaris-files.lisp: long gone
8287
82882006-05-23 20:25  gb
8289
8290        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8291
82922006-05-22 22:59  gb
8293
8294        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8295        C/.cvsignore: New file.
8296
82972006-05-22 22:57  gb
8298
8299        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8300        thread to suspend itself.
8301
83022006-05-22 22:57  gb
8303
8304        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8305        SINGLE-FLOAT constants.
8306       
8307        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8308        64-bit arg word, regardless of whether they're also passed in
8309        f1-f13 as well.
8310
83112006-05-22 22:55  gb
8312
8313        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8314        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8315        64-bit word.
8316
83172006-05-22 22:54  gb
8318
8319        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8320        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8321
83222006-05-22 22:53  gb
8323
8324        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8325        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8326        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8327        access them.
8328
83292006-05-22 03:53  gb
8330
8331        * level-1/version.lisp: Bump.
8332
83332006-05-22 03:32  gb
8334
8335        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8336
83372006-05-22 03:31  gb
8338
8339        * compiler/X86/x862.lisp: Numeric contagion on binops,
8340        fixnum->float.
8341
83422006-05-22 03:29  gb
8343
8344        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8345        well.
8346
83472006-05-22 03:28  gb
8348
8349        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8350        earlier when creating a stack frame inline.  Doesn't seem to affect
8351        latency much.
8352
83532006-05-22 03:27  gb
8354
8355        * compiler/X86/x862.lisp: Comment formatting on the first line of
8356        the file.
8357
83582006-05-22 03:26  gb
8359
8360        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8361        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8362
83632006-05-21 07:34  gb
8364
8365        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8366
83672006-05-21 07:32  gb
8368
8369        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8370        numeric-contagion stuff for arithmetic ops.
8371
83722006-05-21 07:31  gb
8373
8374        * compiler/nx1.lisp: Use div2 for /-2.
8375
83762006-05-21 07:31  gb
8377
8378        * compiler/nx0.lisp: Binop numeric contagion.
8379
83802006-05-21 06:49  gb
8381
8382        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8383
83842006-05-21 06:49  gb
8385
8386        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8387        weird, just wrong.
8388
83892006-05-21 06:17  gb
8390
8391        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8392        SIMPLE-FIXNUM-VECTORs.
8393
83942006-05-21 06:16  gb
8395
8396        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8397        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8398
83992006-05-21 06:16  gb
8400
8401        * compiler/PPC/PPC32/ppc32-arch.lisp,
8402        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8403        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8404        vector stuff.
8405
84062006-05-21 06:15  gb
8407
8408        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8409       
8410        Fixnum vector vref/vset.
8411
84122006-05-21 06:15  gb
8413
8414        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8415        %fixnum-to-double.
8416
84172006-05-21 06:14  gb
8418
8419        * compiler/nx0.lisp: More operator result types.
8420
84212006-05-21 04:35  gb
8422
8423        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8424        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8425        specialized FIXNUM array-element-type into type system, CLOS.
8426        (Knock wood.)
8427
84282006-05-21 04:34  gb
8429
8430        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8431        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8432
84332006-05-21 04:33  gb
8434
8435        * compiler/X86/X8664/x8664-arch.lisp,
8436        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8437        subtag for :fixnum-vector.
8438
84392006-05-21 04:32  gb
8440
8441        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8442        indices correctly.
8443       
8444        64-bit vset, vref: handle :FIXNUM-VECTOR.
8445
84462006-05-21 00:22  gb
8447
8448        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8449
84502006-05-20 18:13  gb
8451
8452        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8453        stack args) without restoring/re-saving NVRs.
8454
84552006-05-19 15:07  gb
8456
8457        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8458        completion semaphore (when :WAIT is true) happens inside an
8459        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8460        interrupts.
8461
84622006-05-19 15:06  gb
8463
8464        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8465        for SEMAPHORE.
8466
84672006-05-19 12:23  gwking
8468
8469        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8470        Also changed it so that it displays all items before trying to get
8471        an answer.
8472
84732006-05-19 12:00  gwking
8474
8475        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8476
84772006-05-19 11:57  gwking
8478
8479        * .cvsignore: The *fsl wasn't cutting it for me...
8480
84812006-05-19 11:50  gb
8482
8483        * level-1/version.lisp: Bump.
8484
84852006-05-19 11:49  gb
8486
8487        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8488        syscall definitions so that it can be moused on.
8489
84902006-05-19 11:48  gb
8491
8492        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8493        .SPeabi-syscall -> .SPsyscall.
8494
84952006-05-19 11:45  gb
8496
8497        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8498        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8499        does indeed burn cache lines, but going out of line isn't cheap
8500        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8501        are in fact fixnums and no overflow is involved - seems to be about
8502        2X faster when inlined this way.  Not sure if that'll be the case
8503        on PPC.)
8504
85052006-05-19 11:40  gb
8506
8507        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8508        stuff.
8509
85102006-05-18 14:47  gb
8511
8512        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8513        in all places that do so ...), update tcr.xframe from
8514        catch_frame.xframe on all execution paths (in particular, do so
8515        before SP is restored from the catch_frame, since a tcr.xframe
8516        "beyond" SP is clearly bogus.)
8517
85182006-05-18 02:34  gb
8519
8520        * level-1/version.lisp: Bump.
8521
85222006-05-17 23:12  gb
8523
8524        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8525        for PPC, too.
8526
85272006-05-17 22:53  gb
8528
8529        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8530        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8531        if any unmasked exceptions were raised before even calling this ...
8532
85332006-05-17 22:51  gb
8534
8535        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8536        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8537
85382006-05-17 22:50  gb
8539
8540        * compiler/X86/x862.lisp: Work harder to find acode types in some
8541        cases.
8542
85432006-05-17 22:50  gb
8544
8545        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8546        registers in OP-REG.
8547       
8548        Don't want to use RET very often if at all, but disassembler should
8549        treat as as a :JUMP.
8550
85512006-05-17 22:48  gb
8552
8553        * compiler/nxenv.lisp: MUL2, DIV2.
8554
85552006-05-17 22:48  gb
8556
8557        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8558        type-inferencing (or, more accurately, paying a little more
8559        attention here and there.)
8560
85612006-05-12 20:40  gwking
8562
8563        * examples/addressbook.lisp: added examples/addressbook.lisp
8564
85652006-05-11 18:42  gb
8566
8567        * level-1/l1-application.lisp: Stop processing command-line
8568        arguments when "--" is encountered; anything after that "--" is
8569        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8570
85712006-05-11 18:42  gb
8572
8573        * lib/ccl-export-syms.lisp: Export command-line stuff
8574
85752006-05-11 18:40  gb
8576
8577        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8578        method for LOCKs.
8579
85802006-05-11 18:39  gb
8581
8582        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8583        are base-strings (and always have been in OpenMCL.)
8584
85852006-05-11 18:37  gb
8586
8587        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8588
85892006-05-11 08:11  gwking
8590
8591        * lib/db-io.lisp: Added a check that the directory exists to
8592        fid-open-output in order to make it clearer what is wrong when one
8593        is unable to rebuild interface files because they are trying to do
8594        so in a place without FFI files to read!
8595
85962006-05-11 05:14  gb
8597
8598        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8599        Bump lisp-implementation-version, image-abi-version.
8600
86012006-05-11 05:04  gb
8602
8603        * xdump/faslenv.lisp: Bump (min) fasl version.
8604
86052006-05-11 04:52  gb
8606
8607        * lib/nfcomp.lisp: Bump (current) FASL version.
8608
86092006-05-11 04:52  gb
8610
8611        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8612        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8613
86142006-05-11 04:35  gb
8615
8616        * xdump/faslenv.lisp: Bump (max) fasl version.
8617
86182006-05-11 04:32  gb
8619
8620        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8621        target-specific feature.
8622
86232006-05-11 03:35  gb
8624
8625        * compiler/PPC/PPC32/ppc32-arch.lisp,
8626        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8627        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8628        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8629        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8630        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8631        typecodes around: get rid of the (unused) old 16-bit string; add an
8632        (as yet unused) UCS-4 string type.
8633       
8634        These changes generally involve cross-compilation (or some very
8635        tricky bootstrapping that I didn't attempt)  FASL versions and
8636        kernel ABI versions will need to change, and new binaries will be
8637        made available soon.
8638
86392006-05-10 20:20  gb
8640
8641        * compiler/PPC/ppc-lapmacros.lisp,
8642        compiler/PPC/PPC32/ppc32-arch.lisp,
8643        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8644        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8645        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8646        8-bit) character code is stored in the #x0000xx00 byte of a
8647        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8648        bootstrap natively (which is why I was trying to make ppc64->ppc32
8649        cross-compilation work.)
8650       
8651        Change related macros/visnsns as well.
8652
86532006-05-10 19:00  gb
8654
8655        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8656        think that this is just hard to do right the way that it's being
8657        done.
8658
86592006-05-10 18:59  gb
8660
8661        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8662        when cross-compiling (because word-size differences aren't handled
8663        correctly by macros.)  Until the macros are fixed, don't even try
8664        ...
8665
86662006-05-10 18:58  gb
8667
8668        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8669        target::target-most-positive-fixnum (not the host's
8670        MOST-POSITIVE-FIXNUM).
8671
86722006-05-10 18:57  gb
8673
8674        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8675        few places.
8676
86772006-05-10 18:56  gb
8678
8679        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8680
86812006-05-10 18:55  gb
8682
8683        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8684        differences between host and target types, but try to turn
8685        references to FIXNUM to the appropriate target-specific type.
8686
86872006-05-09 21:01  gb
8688
8689        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8690        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8691        around to check the high bits of the char code, but all chars have
8692        been base-chars for several years now ...
8693       
8694        UNBOX-CHARACTER was unused.
8695       
8696        (This is the first step of what may be several bootstrapping steps
8697        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8698        easily-accessed char-code bits on PPC32.)
8699
87002006-05-09 11:48  gb
8701
8702        * lisp-kernel/xlbt.c: No psn in cs_area.
8703
87042006-05-09 02:42  gb
8705
8706        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8707        to mark_simple_area_range().
8708
87092006-05-09 02:33  gb
8710
8711        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8712        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8713
87142006-05-09 02:25  gb
8715
8716        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8717        the containing TCR, to make low-level debugging a bit easier.
8718
87192006-05-09 02:25  gb
8720
8721        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8722        and debugging printfs.
8723
87242006-05-09 02:24  gb
8725
8726        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8727        extra (signed_natural *) arg, for allocptr displacement.
8728
87292006-05-09 02:23  gb
8730
8731        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8732       
8733        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8734        regs/ saved TCR fields.  The general idea is that the after they
8735        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8736        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8737        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8738        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8739       
8740        On an interrupt, the caller needs to pass in a signed_natural * to
8741        pick up the allocptr displacement (if consing was interrupted at
8742        the alloc trap); the interrupt handler uses this value to fix up
8743        alloptr when it returns if consing was interrupted.
8744       
8745        This is all pretty clearly right, but something still goes wrong
8746        under some combination of high thread stress, frequent allocation,
8747        and blocking ff-calls.
8748
87492006-05-09 02:17  gb
8750
8751        * lisp-kernel/plbt.c: No psn currently available.
8752
87532006-05-09 02:16  gb
8754
8755        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8756        where it may come in handy ...
8757
87582006-05-09 02:16  gb
8759
8760        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8761        arg.
8762
87632006-05-09 02:13  gb
8764
8765        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8766
87672006-05-09 02:12  gb
8768
8769        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8770        Restore it.
8771
87722006-05-09 02:12  gb
8773
8774        * level-0/l0-error.lisp, library/lispequ.lisp,
8775        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8776        recycle $XNOCDR.
8777
87782006-05-09 02:11  gb
8779
8780        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8781        target-specific.
8782
87832006-05-09 02:11  gb
8784
8785        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8786        target-specific.
8787
87882006-05-09 00:40  gb
8789
8790        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8791        here.
8792
87932006-05-09 00:39  gb
8794
8795        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8796        x8664.
8797
87982006-05-09 00:39  gb
8799
8800        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8801        stuff up to l1-lisp-threads.lisp.
8802
88032006-05-08 22:58  gb
8804
8805        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8806        handle array and vector headers.
8807
88082006-05-08 22:57  gb
8809
8810        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8811        of which should ever happen) with the kernel.
8812
88132006-05-08 22:56  gb
8814
8815        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8816        the TCR either.
8817
88182006-05-08 22:55  gb
8819
8820        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8821
88222006-05-08 22:55  gb
8823
8824        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8825        $xsetbadvec.
8826
88272006-05-08 03:26  gb
8828
8829        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8830        flags are set to the result of decrementing %nargs at the end of
8831        the loop.
8832
88332006-05-08 03:25  gb
8834
8835        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8836        wants a list of condition args, not a single arg.
8837
88382006-05-08 03:24  gb
8839
8840        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8841        CS-AREA.
8842
88432006-05-08 03:23  gb
8844
8845        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8846        uuo_error_udf, not as a type error.
8847
88482006-05-07 16:50  gb
8849
8850        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8851        slots in a long time (they probably haven't -needed- them in even
8852        longer; I think that this had to do with the old partial MOP.)
8853        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8854        accessor in STANDARD-OBJECT-SETF-LINE-N.
8855
88562006-05-07 04:39  gb
8857
8858        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8859        file.
8860
88612006-05-07 04:34  gb
8862
8863        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8864        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8865        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8866        if code that wants both locks isn't careful to try to obtain them
8867        in some canonical order.)
8868
88692006-05-07 04:29  gb
8870
8871        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8872
88732006-05-07 04:29  gb
8874
8875        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8876
88772006-05-07 04:28  gb
8878
8879        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8880        xFindSymbol/dlsym returns 0 on x8664.
8881
88822006-05-07 04:27  gb
8883
8884        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8885        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8886        I'd mistakenly decided that it was faster to go through memory than
8887        to use these instructions.  It seems to actually be substantially
8888        slower, as one would expect.)
8889
88902006-05-07 04:25  gb
8891
8892        * compiler/X86/x86-asm.lisp: Add support for
8893        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8894
88952006-05-07 04:21  gb
8896
8897        * library/hash-cons.lisp: Fix doc in comments.
8898
88992006-05-07 04:21  gb
8900
8901        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8902
89032006-05-07 04:20  gb
8904
8905        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8906
89072006-05-07 04:19  gb
8908
8909        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8910        TARGET-backtrace.lisp.
8911
89122006-05-07 04:18  gb
8913
8914        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8915        BOGUS-THING-P to TARGET-thread-utils.lisp.
8916
89172006-05-07 04:17  gb
8918
8919        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8920        BOGUS-THING-P support here.
8921
89222006-05-07 04:16  gb
8923
8924        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8925        to psn.
8926
89272006-05-06 15:27  gb
8928
8929        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8930        to the "natural" case.
8931
89322006-05-06 15:26  gb
8933
8934        * compiler/X86/x862.lisp: Pass the right number of args to
8935        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8936
89372006-05-06 15:26  gb
8938
8939        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8940
89412006-05-06 02:09  gb
8942
8943        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8944        A and tries to obtain lock B, and thread Y holds lock B and tries
8945        to obtain lock A, what is that a classic case of ?
8946       
8947        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8948        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8949        two locks at the same time, and that's always a bit dangerous; it
8950        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8951        that must be owned in order to manipulate either the tcr or area
8952        queues.
8953
89542006-05-06 02:04  gb
8955
8956        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8957        %REALPATH of the current directory namestring, as it does by
8958        default on some platforms (but not Linux.)
8959
89602006-05-05 20:08  gb
8961
8962        * compiler/X86/x862.lisp: x862-ff-call: really implement the
8963        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
8964        the el-bizarro <- with a (temp) node target.
8965
89662006-05-05 20:06  gb
8967
8968        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
8969        relative to the tagged entrypoint, not to the start of the
8970        underlying function-vector.)
8971
89722006-05-05 13:24  gb
8973
8974        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
8975        heap-consing an &REST arg.  (%allocptr and %next-method-context are
8976        the same register, so &rest clobbbers %next-method-context.)
8977       
8978        Could make separate entry points, so that this is only done when
8979        %next-method-context needs to be preserved ...
8980
89812006-05-05 13:21  gb
8982
8983        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
8984
89852006-05-05 02:23  gb
8986
8987        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
8988
89892006-05-05 02:23  gb
8990
8991        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
8992
89932006-05-05 01:37  gb
8994
8995        * level-1/version.lisp: Bump du jour.
8996
89972006-05-05 01:36  gb
8998
8999        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9000        between the first 6 words of the outgoing frame (from which GPRs
9001        will be loaded) and other words (which stay on the stack); after
9002        the first 8 FP args, floats have to be passed on the stack, even if
9003        there's still room in the first 6 words of the outgoing frame.
9004       
9005        Need to understand the struct-by-value rules better: can a struct
9006        be passed partly in registers and partly on the stack ? RTFM (or,
9007        in this case, TF ABI spec.)
9008
90092006-05-05 01:31  gb
9010
9011        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9012        case should store relative to "other-offset" (rather than   
9013        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9014        - both the single and double-float cases were incrementing
9015        "other-offset"     twice when more than 8 FP args were involved.
9016        This had the effect of     storing floats into every other word and
9017        writing beyond the bounds of     the outgoing stack frame, possibly
9018        overwriting return addresses on the     foreign stack.
9019
90202006-05-04 23:12  gb
9021
9022        * level-1/l1-streams.lisp: James Bielman's fix to
9023        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9024
90252006-05-04 18:30  gb
9026
9027        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9028        decrement FPR-ARG-OFFSET by 8, not -8.
9029       
9030        (This could cause values outside of the stack frame to be read, but
9031        I still haven't found what's writing beyond the frame bounds.)
9032
90332006-05-04 18:27  gb
9034
9035        * lib/x86-backtrace.lisp: If its argument is an exception callback
9036        frame, %CFP-LFUN tries to determine the relative PC associated with
9037        the frame's nominal function and return that as a second value
9038        (just as it does for a real frame.)
9039       
9040        I think that this should work a high percentage of the time, but
9041        callers should generally be prepared to deal with a NULL second
9042        return value from %CFP-LFUN.
9043
90442006-05-04 11:12  gb
9045
9046        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9047        since we're using the same stack pointer to return values as we are
9048        to find arguments, don't try to "optimize" its initialization.
9049
90502006-05-03 18:52  gb
9051
9052        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9053        a little.  Don't coerce single float results to double; bind
9054        stack-ptr variable even if no args (might be a return value form
9055        that references it.) Failure to do the latter was creating a weird
9056        free variable reference that wasn't handled by the fasloader.
9057
90582006-05-03 18:50  gb
9059
9060        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9061
90622006-05-03 18:49  gb
9063
9064        * lib/nfcomp.lisp: Indent a comment.
9065
90662006-05-03 18:16  gb
9067
9068        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9069        that might involve a variable-length arglist (at this level,
9070        always), set %rax to the number (0-8) of FP arguments passed in xmm
9071        registers.
9072
90732006-05-03 13:26  gb
9074
9075        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9076        ~15, not ~!5.  (This was causing segfaults on return from
9077        interrupts sometimes.)
9078
90792006-05-03 13:24  gb
9080
9081        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9082        by SWANK/SLIME.
9083
90842006-05-03 13:23  gb
9085
9086        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9087        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9088        seems to get many things wrong.)
9089
90902006-05-03 11:37  gb
9091
9092        * level-1/version.lisp: You mist have yesterday's version.
9093
90942006-05-03 11:37  gb
9095
9096        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9097        LAP.
9098
90992006-05-03 11:36  gb
9100
9101        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9102        #+x8664-target.
9103
91042006-05-03 11:36  gb
9105
9106        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9107        it can just check for a 2-digit bignum header if it has something
9108        of tag TAG-MISC.
9109
91102006-05-03 11:34  gb
9111
9112        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9113        destinations.
9114
91152006-05-03 11:33  gb
9116
9117        * compiler/X86/x86-disassemble.lisp: Recognize
9118        uuo-error-eep-unresolved.
9119
91202006-05-02 18:07  gb
9121
9122        * level-1/version.lisp: Bump.
9123
91242006-05-02 18:07  gb
9125
9126        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9127        (mostly ?) unused and currently PPC-specific, if it works at all
9128        ...
9129
91302006-05-02 10:27  gb
9131
9132        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9133        for STRING-INPUT-STREAMs; it's not clear what such a method should
9134        do (and fairly clear that it shouldn't do what the previous
9135        definition was doing.)
9136
91372006-05-02 10:26  gb
9138
9139        * lib/format.lisp: clear input from *query-io*, not from
9140        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9141
91422006-05-02 10:26  gb
9143
9144        * library/hash-cons.lisp: x8664 lap
9145
91462006-05-02 10:26  gb
9147
9148        * lisp-kernel/x86-gc.c: hons area stuff
9149
91502006-04-29 09:14  gb
9151
9152        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9153        overflow (on value/temp stacks).
9154
91552006-04-29 09:13  gb
9156
9157        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9158        callback.
9159
91602006-04-29 09:10  gb
9161
9162        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9163       
9164        No linker script.
9165       
9166        Use -lthr, which offers 1:1 threads.
9167
91682006-04-29 09:09  gb
9169
9170        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9171
91722006-04-29 09:01  gb
9173
9174        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9175
91762006-04-29 09:00  gb
9177
9178        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9179        anything cares ...)
9180
91812006-04-29 08:59  gb
9182
9183        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9184
91852006-04-29 08:58  gb
9186
9187        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9188
91892006-04-29 08:58  gb
9190
9191        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9192
91932006-04-28 21:28  gb
9194
9195        * level-1/version.lisp: bump.
9196
91972006-04-28 21:27  gb
9198
9199        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9200        version).
9201
92022006-04-28 21:24  gb
9203
9204        * lib/ppc-backtrace.lisp: Fix typo.
9205
92062006-04-28 21:23  gb
9207
9208        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9209       
9210        Change the command/keyword parser a little, so that :FOO is just
9211        :FOO and not (:FOO).
9212       
9213        Change :B break loop command (and :F) to allow focusing on a range
9214        of frames, and change PRINT-CALL-HISTORY to more easily support
9215        that.
9216
92172006-04-28 19:37  gb
9218
9219        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9220        LOAD-CONSTANT form.
9221
92222006-04-28 19:34  gb
9223
9224        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9225        Factor out a little more.  Time to see what's broken on PPC ...
9226
92272006-04-28 19:34  gb
9228
9229        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9230        around colon-commands optional.
9231
92322006-04-28 04:11  gb
9233
9234        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9235        debugger's register display code.
9236
92372006-04-28 04:11  gb
9238
9239        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9240        on the stack is bogus.
9241
92422006-04-28 04:10  gb
9243
9244        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9245        ...) when calling back for an exception.
9246
92472006-04-28 03:36  gb
9248
9249        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9250       
9251        xcf struct.
9252
92532006-04-28 03:36  gb
9254
9255        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9256
92572006-04-28 03:36  gb
9258
9259        * lib/x86-backtrace.lisp: Implemented some stuff.
9260       
9261        Backtrace (sort of) works on x8664 now; need to find register
9262        values,  hide tagged return addresses, a few other things.
9263
92642006-04-28 03:34  gb
9265
9266        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9267
92682006-04-28 03:34  gb
9269
9270        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9271
92722006-04-28 03:33  gb
9273
9274        * level-1/x86-trap-support.lisp: Flags register accessor.
9275       
9276        New exception callback scheme.
9277
92782006-04-28 03:33  gb
9279
9280        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9281        changing.
9282
92832006-04-28 03:32  gb
9284
9285        * level-1/x86-error-signal.lisp: New exception callback stuff.
9286
92872006-04-28 03:32  gb
9288
9289        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9290
92912006-04-28 03:32  gb
9292
9293        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9294        files.
9295
92962006-04-28 03:31  gb
9297
9298        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9299        have exception callback frames ...
9300
93012006-04-28 03:30  gb
9302
9303        * level-1/l1-error-system.lisp: Tweak :report method for
9304        wrong-number-of-args errors.
9305
93062006-04-28 03:30  gb
9307
9308        * level-0/X86/x86-def.lisp: Implement APPLY+.
9309
93102006-04-28 03:29  gb
9311
9312        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9313
93142006-04-28 03:27  gb
9315
9316        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9317       
9318        CHECK-NARGS: don't enforce upper bound if it's null.
9319
93202006-04-28 03:17  gb
9321
9322        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9323
93242006-04-28 03:16  gb
9325
9326        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9327        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9328
93292006-04-26 14:18  gb
9330
9331        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9332
93332006-04-26 14:17  gb
9334
9335        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9336        prepared" to do so) if its argument isn't a function designator, so
9337        don't quietly call METHOD-FUNCTION for the user.
9338
93392006-04-26 13:56  gb
9340
9341        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9342        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9343
93442006-04-26 03:59  gb
9345
9346        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9347        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9348        exceptions will be pending when we start an ff-call (and the mxcsr
9349        is loaded from that location.)
9350       
9351        tcr.ffi_exception will then contain non-zero exception bits iff the
9352        most recent ff-call raised a (probably masked) FP exception.
9353       
9354        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9355
93562006-04-26 03:55  gb
9357
9358        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9359
93602006-04-26 03:23  gb
9361
9362        * lisp-kernel/x86-constants64.s: Update comment on
9363        tcr.ffi_exception.
9364
93652006-04-26 03:22  gb
9366
9367        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9368        from ffcall.  (Should maybe clear exception bits on entry to
9369        foreign state, so we're sure that any exception bits set in the
9370        tcr.ffi_exception slot were caused by the most recent ff-call.)
9371
93722006-04-26 03:20  gb
9373
9374        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9375        ffcall, compare them to unmasked exception bits in current MXCSR,
9376        maybe raise FP exception.  (Note: compile this change and rebuild
9377        image before making corresponding kernel change.)
9378
93792006-04-26 02:31  gb
9380
9381        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9382        LOGAND-2, not to LOGXOR-2.  Sheesh.
9383
93842006-04-26 02:01  gb
9385
9386        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9387        bit numbers as tests of the sign bit.   (This is probably best
9388        viewed as being "formally undefined", but it's not too expensive to
9389        check for that.  The case where the bit number's negative is
9390        definitely undefined; I think that it also gets treated as a test
9391        of the sign bit.)
9392
93932006-04-26 01:58  gb
9394
9395        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9396        negative.
9397
93982006-04-26 01:32  gb
9399
9400        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9401        61.  (Should check here for negative bit .)
9402
94032006-04-26 01:31  gb
9404
9405        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9406        context" error - which typically indicates a fault during exception
9407        processing - pass the context in to the kernel debugger.
9408
94092006-04-26 01:30  gb
9410
9411        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9412
94132006-04-26 00:56  gb
9414
9415        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9416        if it compares all corresponding digits, rather than repeatedly
9417        comparing the 0th digits N times ...
9418
94192006-04-25 17:38  gb
9420
9421        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9422        is 0, not if disp is 0.  ash: always make a signed integer out of
9423        the result,  since arg is always signed.
9424
94252006-04-25 17:37  gb
9426
9427        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9428        bit, so (for instance) (- 0.0d0) is -0.0d0.
9429
94302006-04-25 17:36  gb
9431
9432        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9433        time.
9434
94352006-04-25 17:35  gb
9436
9437        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9438        operand is in target reg (2-address issue.)
9439
94402006-04-24 16:42  gb
9441
9442        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9443        Apparently, pretty hard.  It was doing a logical shift right when
9444        typechecking the value, so negative values were rejected.
9445
94462006-04-24 16:41  gb
9447
9448        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9449        callback now takes a 'signo' argument.
9450
94512006-04-24 16:40  gb
9452
9453        * level-1/x86-trap-support.lisp: Initial support for handling
9454        arithmetic errors.  Will need more work to get operation and
9455        operands right.
9456
94572006-04-24 16:39  gb
9458
9459        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9460
94612006-04-24 13:58  gb
9462
9463        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9464        uuo-error-reg-not-type case.
9465
94662006-04-24 13:57  gb
9467
9468        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9469        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9470        another story.)
9471
94722006-04-24 13:55  gb
9473
9474        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9475        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9476        boxed, either.
9477
94782006-04-24 12:02  gb
9479
9480        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9481        _SPtcallnfngen: several bugs, which were already fixed in similar
9482        variants.
9483
94842006-04-24 12:01  gb
9485
9486        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9487        Deutch/Waite/Schorr marker.
9488
94892006-04-24 12:00  gb
9490
9491        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9492        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9493
94942006-04-24 11:59  gb
9495
9496        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9497
94982006-04-24 11:58  gb
9499
9500        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9501        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9502        DOUBLE-FLOAT.
9503
95042006-04-24 11:58  gb
9505
9506        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9507        high and low words of the mantissa, to ensure that no hidden bits
9508        are set.  (Some such bits were set, causing many double-float
9509        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9510
95112006-04-24 02:21  gb
9512
9513        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9514        image.
9515       
9516        (Don't expect it to have any contents yet; that'll require several
9517        more changes.   This is all intended to support PURIFY on x8664,
9518        where we'll want to ensure that any constant referenced by a
9519        function in readonly/pure memory has a fixed, static address.)
9520
95212006-04-24 02:14  gb
9522
9523        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9524        section makes NUM_IMAGE_SECTIONS 4.
9525
95262006-04-24 02:13  gb
9527
9528        * lisp-kernel/area.h: Typo in the definition of
9529        AREA_MANAGED_STATIC.
9530
95312006-04-24 02:12  gb
9532
9533        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9534        more areas.
9535
95362006-04-24 02:12  gb
9537
9538        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9539        addresses of instructions (not pointers thereto ...)
9540
95412006-04-24 02:11  gb
9542
9543        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9544        (mostly so that I could step through it to remember how it worked
9545        ...).
9546
95472006-04-24 02:10  gb
9548
9549        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9550        indirection.
9551
95522006-04-24 02:09  gb
9553
9554        * lisp-kernel/x86-gc.c: Remove a sanity check.
9555
95562006-04-24 02:09  gb
9557
9558        * xdump/xfasload.lisp: Create (empty) managed-static section
9559        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9560
95612006-04-24 02:08  gb
9562
9563        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9564        section.
9565
95662006-04-24 02:07  gb
9567
9568        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9569        fds, take CLOSE-ON-ERROR more seriously.
9570
95712006-04-24 02:06  gb
9572
9573        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9574        %CURRENT-FRAME-PTR) on PPC32/64.
9575
95762006-04-24 00:50  gb
9577
9578        * level-1/version.lisp: Bump.  Getting there ...
9579
95802006-04-24 00:50  gb
9581
9582        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9583       
9584        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9585        so pass them as a pointer to avoid word-size issues.
9586
95872006-04-24 00:48  gb
9588
9589        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9590        things that had been missing.
9591
95922006-04-24 00:48  gb
9593
9594        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9595        UUOs.
9596
95972006-04-24 00:48  gb
9598
9599        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9600
96012006-04-24 00:47  gb
9602
9603        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9604
96052006-04-24 00:47  gb
9606
9607        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9608
96092006-04-24 00:47  gb
9610
9611        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9612
96132006-04-24 00:46  gb
9614
9615        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9616        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9617        need to boostrap on PPC).
9618       
9619        Parse %FOREIGN-STACK-POINTER.
9620
96212006-04-22 03:30  gb
9622
9623        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9624        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9625        because (a) nothing else will and (b) the tcr will likely become
9626        unmapped soon, and we don't want things that walk the tcr list to
9627        segfault.
9628
96292006-04-22 03:27  gb
9630
9631        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9632        find_foreign_rsp; call Bug() and exit() if the context has no
9633        fpregs.  (That's a symptom, not the proble, but it's slightly
9634        better to do this than to double fault, which is what seems to be
9635        happening.)
9636
96372006-04-21 10:12  gb
9638
9639        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9640        worry about consing, write-barrier stuff.
9641
96422006-04-21 10:11  gb
9643
9644        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9645        (condition codes.)
9646
96472006-04-21 10:11  gb
9648
9649        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9650        (again.)
9651       
9652        Define enumeration constants for matching the instructions that can
9653        occur during consing.
9654
96552006-04-21 10:09  gb
9656
9657        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9658        store_node_conditional, in case pc_luser_xp() needs to complete the
9659        memoization.
9660
96612006-04-21 02:50  gb
9662
9663        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9664        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9665        allowed.
9666
96672006-04-21 02:49  gb
9668
9669        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9670        line up with GPRs.
9671
96722006-04-21 02:48  gb
9673
9674        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9675        #+64-bit-target, not #+ppc64-target.
9676
96772006-04-21 02:47  gb
9678
9679        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9680        amount.
9681
96822006-04-21 02:46  gb
9683
9684        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9685        unique to PPC64 (but do depend on #+64-bit-target).
9686
96872006-04-21 02:46  gb
9688
9689        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9690        confuse PROGV; remove them, for now.
9691
96922006-04-20 23:35  gb
9693
9694        * lisp-kernel/x86-spentry64.s: In the bignum case of
9695        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9696        whatever the code was trying to do there.
9697       
9698        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9699        and arg_z from the correct offsets within the lexpr.
9700
97012006-04-20 04:48  gb
9702
9703        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9704        force it to always be used, for now.
9705
97062006-04-19 17:11  gb
9707
9708        * lisp-kernel/pmcl-kernel.c: (Very) different
9709        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9710
97112006-04-19 17:10  gb
9712
9713        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9714        Solaris.
9715
97162006-04-19 00:35  gb
9717
9718        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9719        reversing-pointer marker should work.  (Perhaps it's a strong
9720        argument for implementing "purify" soon.)
9721
97222006-04-19 00:34  gb
9723
9724        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9725        function-boundary-marker.
9726
97272006-04-19 00:33  gb
9728
9729        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9730
97312006-04-18 19:35  gb
9732
9733        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9734        multiple-value case of THROW: don't want to do unbind_to if tcr's
9735        db-link matches target catch frame's.
9736
97372006-04-18 19:33  gb
9738
9739        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9740        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9741        synch with x86-asm.
9742
97432006-04-18 19:33  gb
9744
9745        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9746        :R in break messages.
9747       
9748        Say more about :C in :R.
9749
97502006-04-18 19:32  gb
9751
9752        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9753        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9754        seems to have been fixed.
9755
97562006-04-18 19:31  gb
9757
9758        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9759        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9760        horrible kludge, but it only happens once.)
9761
97622006-04-18 19:19  gb
9763
9764        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9765        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9766        to have been fixed.
9767
97682006-04-18 19:18  gb
9769
9770        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9771        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9772        ends of its arguments and ignoring the first few bytes (as well as
9773        doing misaligned memory references.)
9774
97752006-04-18 19:16  gb
9776
9777        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9778        This'll require some thought, mostly because of the reserved-frame
9779        issue(s).
9780
97812006-04-18 06:21  gb
9782
9783        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9784        adventures are about to end, I'm afraid.
9785
97862006-04-18 06:04  gb
9787
9788        * level-1/version.lisp: Daily bump.
9789
97902006-04-18 05:59  gb
9791
9792        * level-1/l1-sockets.lisp: Comment indentation.
9793
97942006-04-18 05:56  gb
9795
9796        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9797
97982006-04-18 05:55  gb
9799
9800        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9801        ppc-def (that means that there will need to be an APPLY+ for
9802        x8664).
9803
98042006-04-18 05:38  gb
9805
9806        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9807        compiler and x8664-vinsn-templates to agree on vinsn-names and
9808        implement some vinsns that had been missing.  (About 15 or so
9809        undefined vinsns remain.)
9810
98112006-04-18 05:37  gb
9812
9813        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9814        opcode ordinals in vinsn templates (e.g., in case new instructions
9815        are defined in the assembler) wasn't checking to see if vinsn
9816        templates named in the hash table were defined.  (It was apparently
9817        getting away with this because CONSP was broken.)  So, don't try to
9818        fixup opcode ordinals in NIL, and optionally report templates
9819        that're referenced but not defined.
9820
98212006-04-18 04:38  gb
9822
9823        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9824        (which only sets the low 8 bits of its destination), then comparing
9825        all 64-bits of the destination to a zero-extended 32-bit constant.
9826        (E.g., CONSP had little chance of being right all other things
9827        being equal, but may have been right more than one in 2^56 times if
9828        some random preceding instruction had zeroed the upper 56 bits.)
9829       
9830        (It's also shorter to do an 8-bit compare.)
9831
98322006-04-18 03:11  gb
9833
9834        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9835
98362006-04-18 02:51  gb
9837
9838        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9839        happy (well, as happy as they're going to be ...), back to finding
9840        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9841
98422006-04-18 01:26  gb
9843
9844        * lisp-kernel/thread_manager.c: Some Solaris changes.
9845
98462006-04-18 00:48  gb
9847
9848        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9849        installs in /usr/sfw/bin is both newer and buggier than the version
9850        available on the "Solaris Companion" disk, which gets installed in
9851        /opt/sfw/bin.
9852       
9853        Ordinarily, I'd wonder why a "companion" disk offers to install
9854        software that's bundled as part of the installation (especially old
9855        versions of that software.)  Now I know.
9856
98572006-04-18 00:45  gb
9858
9859        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9860
98612006-04-18 00:45  gb
9862
9863        * lisp-kernel/m4macros.m4: Fix changecom.
9864
98652006-04-18 00:11  gb
9866
9867        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9868        but is otherwise fine with single-line /* */.
9869
98702006-04-18 00:09  gb
9871
9872        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9873        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9874        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9875        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9876        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9877        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9878        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9879        like Darwin as, but we're back to single-line /* */, which is often
9880        pretty ugly and not well-supported by Emacs.
9881
98822006-04-17 23:23  gb
9883
9884        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9885        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9886        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9887        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9888        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9889        by Emacs and by all current GAS versions (but see ARM conventions.)
9890         No more jerking around with this, knock wood.
9891
98922006-04-17 23:23  gb
9893
9894        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9895        case where caller provided args before the lexpr, which is much
9896        harder than the simple case.
9897       
9898        Use #/newline for comment delimiters, which is supported by Emacs
9899        and by all current GAS versions (but see ARM conventions.)  No more
9900        jerking around with this, knock wood.
9901
99022006-04-17 23:20  gb
9903
9904        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9905        when numbers differed greatly in magnitude.  Current (binary)
9906        algorithm is usually OK.
9907
99082006-04-17 23:17  gb
9909
9910        * compiler/X86/x86-lap.lisp: Condition name should be
9911        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9912        not the problem.  Name wasn't spelled correctly in code that
9913        signals the condition, anyway.
9914
99152006-04-17 16:34  gb
9916
9917        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9918        argument, takes a new boolean to distinguish current tcr from
9919        others.  (The current tcr is only lusered on an interrupt; others
9920        are only lusered on GC entry.)
9921
99222006-04-17 16:33  gb
9923
9924        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9925        here.  (No deep reason not to share the new x86 signature on all
9926        architectures.)
9927
99282006-04-17 16:32  gb
9929
9930        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9931        here.  (No deep reason not to share the new x86 signature on all
9932        architectures.)
9933
99342006-04-17 16:31  gb
9935
9936        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9937        platform-dependent.
9938
99392006-04-17 06:49  gb
9940
9941        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9942        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9943        already.
9944
99452006-04-17 06:17  gb
9946
9947        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9948        truly portable type name.
9949
99502006-04-17 06:16  gb
9951
9952        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9953        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9954        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9955        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9956        work if they're at the start of a line in Linux GAS.  Try /* */
9957        comments, but limit them to a single line.  (May ultimately be
9958        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9959
99602006-04-17 05:28  gb
9961
9962        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9963        x86-subprims64.s, x86-uuo.s: // comments.
9964
99652006-04-17 05:28  gb
9966
9967        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
9968        conditionalization.
9969
99702006-04-17 05:27  gb
9971
9972        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
9973        accessors, etc.)
9974
99752006-04-17 05:26  gb
9976
9977        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
9978        the sigstack trampoline stuff.)
9979
99802006-04-17 05:25  gb
9981
9982        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
9983        integer types.
9984
99852006-04-17 05:24  gb
9986
9987        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
9988        x86-constants64.s: // comments.
9989
99902006-04-17 05:23  gb
9991
9992        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
9993        Solaris mmap() is ... unusual.
9994
99952006-04-17 05:21  gb
9996
9997        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
9998        since Solaris version of GAS doen't handle multi-line comments (/*
9999        ... */).  It -seems- that other assemblers do handle them
10000        correctly; we'll see.
10001       
10002        Some Solaris conditionalization (ELFstabs, etc.)
10003
100042006-04-17 05:20  gb
10005
10006        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10007         We'll see what this breaks.
10008
100092006-04-17 05:19  gb
10010
10011        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10012        SOLARIS is defined.
10013
100142006-04-17 05:18  gb
10015
10016        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10017        registers in predictable order.
10018
100192006-04-17 05:17  gb
10020
10021        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10022        single-line comments, since Solaris version of GAS doen't handle
10023        multi-line comments (/* ... */).  It -seems- that other assemblers
10024        do handle them correctly; we'll see.
10025
100262006-04-17 05:15  gb
10027
10028        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10029
100302006-04-17 05:15  gb
10031
10032        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10033       
10034        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10035        platforms ?
10036
100372006-04-17 05:01  gb
10038
10039        * lisp-kernel/solarisx64/Makefile: new file
10040
100412006-04-17 04:56  gb
10042
10043        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10044        change the name/usage of the linker script.
10045       
10046        Stop using the linker script (since spjump is the only thing in the
10047        kernel that has to be at a fixed address and we can copy it there.)
10048       
10049        Don't disable the EGC.
10050
100512006-04-17 04:54  gb
10052
10053        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10054        the spjump table, exported for C (so that spjump can be mapped into
10055        low memory.)
10056
100572006-04-17 04:54  gb
10058
10059        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10060       
10061        If the tlb's too small when trying to bind a special, push the
10062        binding index of the symbol we're binding (for the benefit of the
10063        handler.)
10064
100652006-04-17 04:52  gb
10066
10067        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10068        code words than it has elements (can't happen, unless the
10069        function's code-words word is garbage, which seems to happen when
10070        closures get consed up in non-zeroed memory.)
10071       
10072        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10073        %nargs.q), which sometimes contains something tagged and
10074        non-immediate.
10075
100762006-04-17 04:48  gb
10077
10078        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10079        to ensure that everythings's zeroed.
10080       
10081        x8664 implementation of extend_tcr_tlb().
10082       
10083        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10084        in call to update_bytes_allocated().
10085       
10086        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10087        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10088        bug, and possibly some other instabiliy.)
10089       
10090        handle_exception: keep trying to guess how to distinguish memory
10091        faults from other sources of SIGSEGV.
10092       
10093        On debug traps, advance the PC past the UUO before entering the
10094        debugger.
10095       
10096        Handle XUUO_TLB_TOO_SMALL.
10097
100982006-04-17 04:42  gb
10099
10100        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10101        reserved_frame_marker.
10102
101032006-04-17 04:42  gb
10104
10105        * lisp-kernel/thread_manager.c: Remove implementation of
10106        extend_tcr_tlb().
10107
101082006-04-17 04:41  gb
10109
10110        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10111        extend_tcr_tlb().
10112
101132006-04-17 04:41  gb
10114
10115        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10116
101172006-04-17 04:40  gb
10118
10119        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10120        that we don't need to use a linker script.
10121
101222006-04-17 04:40  gb
10123
10124        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10125        target xxx-exceptions.h now.
10126
101272006-04-17 04:39  gb
10128
10129        * lib/misc.lisp: Some comment formatting/editing.
10130
101312006-04-17 04:38  gb
10132
10133        * level-1/version.lisp: Bump.
10134
101352006-04-17 04:38  gb
10136
10137        * level-1/l1-readloop.lisp: Some debugging code in the code which
10138        creates the final closure.  It seems that when it's bad, it's bad
10139        on creation (here.)
10140
101412006-04-17 04:37  gb
10142
10143        * level-1/l1-processes.lisp: Some debugging code in
10144        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10145        final closure to be trashed.
10146       
10147        I don't think that other threads were getting their allocptr's
10148        nullified correctly by the GC/normalize_tcr(); with the current
10149        debugging code in place, it seems like the closure is consed on top
10150        of something other than free, thread-private heap memory (when it's
10151        bad, it fails the first check here.  I'm not sure that the latest
10152        round of GC/normalize-tcr() changes have fixed the problem, but I
10153        haven't seen it in a while now, either.)
10154
101552006-04-17 04:32  gb
10156
10157        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10158        disassembly, etc.).
10159
101602006-04-17 04:31  gb
10161
10162        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10163        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10164        (anymore.)
10165       
10166        Subprims are down in low memory again; make INIT-CLOSURE skip
10167        setting the high byte of .SPcall-closure's address if it's zero.
10168
101692006-04-17 04:28  gb
10170
10171        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10172        which may help backtrace.
10173
101742006-04-17 04:26  gb
10175
10176        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10177        (interface/implementation.)
10178
101792006-04-15 09:20  gb
10180
10181        * level-1/x86-callback-support.lisp: Ensure that callback
10182        trampolines are allocated in executable memory.
10183
101842006-04-15 09:12  gb
10185
10186        * lib/dumplisp.lisp: Refresh external entry points before reviving
10187        callbacks.  Reset callback storage before reviving callbacks.
10188
101892006-04-15 09:10  gb
10190
10191        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10192        error message with a %.  (Where did that come from ?)
10193
101942006-04-15 09:08  gb
10195
10196        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10197        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10198        is executable.
10199
102002006-04-14 09:02  gb
10201
10202        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10203
102042006-04-14 08:21  gb
10205
10206        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10207        shorthand for the nearest matching year.
10208
102092006-04-14 08:20  gb
10210
10211        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10212        when : was missing.
10213
102142006-04-13 23:09  gb
10215
10216        * lib/ppc-backtrace.lisp: Eschew missing parens.
10217
102182006-04-13 23:08  gb
10219
10220        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10221
102222006-04-13 23:08  gb
10223
10224        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10225        ARGLIST-FROM-MAP.
10226
102272006-04-13 23:02  gb
10228
10229        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10230        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10231        about returning a second value; returns values NIL, T for functions
10232        that take no args and don't have a symbol map.
10233
102342006-04-13 22:53  gb
10235
10236        * level-1/l1-lisp-threads.lisp: Try to make args to
10237        NTH-VALUE-IN-FRAME et al a little saner.
10238
102392006-04-13 22:37  gb
10240
10241        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10242        type.
10243
102442006-04-13 22:36  gb
10245
10246        * level-1/version.lisp: Bump.
10247
102482006-04-13 22:35  gb
10249
10250        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10251        trying to find the cause of the crash-on-quit bug.
10252
102532006-04-13 07:30  gb
10254
10255        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10256
102572006-04-13 07:29  gb
10258
10259        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10260        stuff to target-backtrace.
10261
102622006-04-13 06:45  gb
10263
10264        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10265
102662006-04-13 06:44  gb
10267
10268        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10269        x8664.
10270
102712006-04-13 06:44  gb
10272
10273        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10274        bytes of %nargs_q contain arg count.
10275
102762006-04-13 06:43  gb
10277
10278        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10279
102802006-04-13 06:43  gb
10281
10282        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10283        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10284        APPLY.
10285
102862006-04-13 06:42  gb
10287
10288        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10289
102902006-04-13 06:41  gb
10291
10292        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10293        operands.
10294
102952006-04-13 06:41  gb
10296
10297        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10298        "vector-lists" instead of adjustable arrays, simplify handling of
10299        constant expressions.  Still conses hysterically; need to find out
10300        where and tone it down a bit, if possible.
10301
103022006-04-13 06:39  gb
10303
10304        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10305        operands; maybe no lap constant-expressions.
10306
103072006-04-13 06:39  gb
10308
10309        * compiler/X86/x86-asm.lisp: Don't need
10310        *lap-constant-0-expression*.
10311
103122006-04-13 00:46  gb
10313
10314        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10315        linker script.
10316
103172006-04-13 00:45  gb
10318
10319        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10320        2.16.1 (Thanks to James Bielman).
10321
103222006-04-12 18:53  gb
10323
10324        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10325        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10326        of this seems to have to do with C++ static constructors, which
10327        aren't really relevant here.)
10328
103292006-04-12 18:28  gb
10330
10331        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10332        between %Rforeign_sp and GPRs.
10333
103342006-04-12 18:22  gb
10335
10336        * lisp-kernel/linuxx8664/Makefile: egc flag
10337
103382006-04-12 18:08  gb
10339
10340        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10341        where we're losing here.
10342
103432006-04-12 18:07  gb
10344
10345        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10346        write barrier code, crap out if so.
10347
103482006-04-12 18:06  gb
10349
10350        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10351        (presumably in a Makefile).
10352
103532006-04-12 14:50  gb
10354
10355        * level-1/version.lisp: Bump.
10356
103572006-04-12 14:46  gb
10358
10359        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10360        x86-backtrace.lisp: new target backtrace stuff.
10361
103622006-04-12 14:45  gb
10363
10364        * lib/backtrace.lisp: Start splitting things up, ideally into a
10365        mostly abstract API and gory platform- dependent implementation
10366        details.
10367
103682006-04-11 21:40  gb
10369
10370        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10371        the damned thing on.  (A little painful with integrity checking
10372        enabled, as it still is by default.)
10373       
10374        TODO:
10375       
10376        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10377        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10378        exception handling - check UUO usage in kernel, disassembler,
10379        exception handlers - stack overflow recovery
10380
103812006-04-11 21:24  gb
10382
10383        * lisp-kernel/x86-gc.c: Skip over function code in
10384        check_refmap_consistency.
10385
103862006-04-11 21:23  gb
10387
10388        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10389        backwards.
10390
103912006-04-11 19:11  gb
10392
10393        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10394
103952006-04-11 19:11  gb
10396
10397        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10398        a closure, no lfname slot in closure.
10399
104002006-04-11 16:29  gb
10401
10402        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10403        area.
10404
104052006-04-11 16:29  gb
10406
10407        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10408        between lisp/foreign code.
10409
104102006-04-11 16:29  gb
10411
10412        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10413        bit-order problems.)
10414       
10415        Maintain the MXCSR on transitions between lisp/foreign code.
10416
104172006-04-11 16:28  gb
10418
10419        * lisp-kernel/x86-macros.s: Access globals in expressions.
10420
104212006-04-11 16:27  gb
10422
10423        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10424        need some bootstrapping stuff (function boundary markers) for a few
10425        reasons, as will DWS marker.
10426
104272006-04-11 16:27  gb
10428
10429        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10430        the siginfo error code.
10431
104322006-04-11 16:26  gb
10433
10434        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10435        fields in tcr.
10436
104372006-04-11 16:25  gb
10438
10439        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10440
104412006-04-11 16:25  gb
10442
10443        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10444        when starting a lisp thread.  (It'll be saner when FP exceptions
10445        are handled.)
10446
104472006-04-11 16:24  gb
10448
10449        * level-1/x86-error-signal.lisp: Recognize what complaints about
10450        non-uvectors are trying to tell us.
10451
104522006-04-11 16:23  gb
10453
10454        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10455        vectors.
10456
104572006-04-11 16:23  gb
10458
10459        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10460        Ses.  Define classes for function/symbol vectors.
10461
104622006-04-11 16:22  gb
10463
10464        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10465
104662006-04-11 16:21  gb
10467
10468        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10469        needs to add a function boundary marker (but we can stop padding
10470        each closure with a null function name slot.)
10471
104722006-04-11 16:20  gb
10473
10474        * compiler/X86/X8664/x8664-arch.lisp: Define
10475        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10476
104772006-04-11 16:19  gb
10478
10479        * compiler/X86/x862.lisp: Emit a function boundary marker between
10480        code and constants. (For GC reasons.) Change closure initialization
10481        to account for it.
10482
104832006-04-11 16:18  gb
10484
10485        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10486        between code and constants. (For GC reasons.)
10487
104882006-04-11 16:17  gb
10489
10490        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10491
104922006-04-11 16:17  gb
10493
10494        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10495       
10496        See if we can get by without 68K condition code ...
10497
104982006-04-11 06:53  gb
10499
10500        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10501        soon.
10502
105032006-04-11 06:53  gb
10504
10505        * lib/numbers.lisp: Infinity constants conditionalized on/off
10506        during MXCSR adventures.  On now.
10507
105082006-04-11 06:52  gb
10509
10510        * lib/describe.lisp: Comment indentation.
10511       
10512        No such thing as an interpreted function; hasn't been for years.
10513
105142006-04-11 06:51  gb
10515
10516        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10517        al.
10518
105192006-04-11 06:51  gb
10520
10521        * level-1/version.lisp: Bumped yesterday.
10522
105232006-04-11 06:50  gb
10524
10525        * level-1/l1-error-signal.lisp: Comments.
10526
105272006-04-11 06:50  gb
10528
10529        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10530        at least.
10531
105322006-04-11 06:50  gb
10533
10534        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10535        a fixnum constant is boxed in %SET-MXCSR.
10536
105372006-04-11 06:49  gb
10538
10539        * level-0/X86/x86-def.lisp: Get info about register usage.
10540
105412006-04-11 06:49  gb
10542
10543        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10544        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10545        though that it was dealing with a scaled index.
10546
105472006-04-11 06:48  gb
10548
10549        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10550        aref.
10551
105522006-04-11 06:48  gb
10553
10554        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10555        do something about FRAG-CODE-BUFFERs, and need to tone down
10556        expression overkill.
10557
105582006-04-11 06:46  gb
10559
10560        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10561        for when opcode ordinals change.
10562
105632006-04-11 06:46  gb
10564
10565        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10566        UUO-ERROR-ARRAY-RANK.
10567       
10568        Vinsn template fixup mechanism, for when opcode ordinals change.
10569
105702006-04-11 06:45  gb
10571
10572        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10573
105742006-04-11 06:45  gb
10575
10576        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10577
105782006-04-11 06:44  gb
10579
10580        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10581        specialized list header initialization.
10582
105832006-04-11 06:43  gb
10584
10585        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10586        2d float arrays.
10587
105882006-04-10 10:19  gb
10589
10590        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10591        foreign SP properly obeying C alignment conventions.  In order to
10592        get it aligned for lisp usage during the callback, an extra word
10593        needs to be pushed before the backpointer to the old foreign RSP.
10594
105952006-04-10 10:18  gb
10596
10597        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10598        is 16-byte aligned, so that the foreign stack pointer is aligned
10599        according to C conventions when we enter the signal handler on that
10600        stack.
10601
106022006-04-10 10:13  gb
10603
10604        * lib/numbers.lisp: Define FP infinities, since we're running with
10605        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10606        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10607        an unmasked FP exception was raised and unhandled.)
10608
106092006-04-10 10:10  gb
10610
10611        * lib/level-2.lisp: Remove the WARN and the conditionalization
10612        around bit/bitfield accessors on X8664.
10613
106142006-04-10 10:09  gb
10615
10616        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10617        from memory, we say "ldmxcsr".  We want to do such a load in order
10618        to write new values into the mxcsr.  To store it in memory, we say
10619        "stmxcsr".  We want to do such a store (and a subsequent load from
10620        memory) in order to access the value of the mxcsr.  Simple, no ?
10621
106222006-04-10 10:07  gb
10623
10624        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10625        %GET-BIT/%SET-BIT.
10626
106272006-04-10 08:29  gb
10628
10629        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10630        addition/multiplication: either arg can overlap result (and often
10631        will).  Float subtraction/division: caller should ensure that
10632        result and second arg are disjoint.
10633
106342006-04-10 08:27  gb
10635
10636        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10637        that result doesn't overlap second argument for non-commutative
10638        operations.
10639
106402006-04-10 08:26  gb
10641
10642        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10643
106442006-04-10 05:12  gb
10645
10646        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10647        malloc them.
10648
106492006-04-10 05:12  gb
10650
10651        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10652
106532006-04-10 05:11  gb
10654
10655        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10656        good reason not to.
10657
106582006-04-10 04:39  gb
10659
10660        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10661        are always big-endian.
10662
106632006-04-10 04:38  gb
10664
10665        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10666        reachable via a TRA, update the variable "dnode" so that the
10667        correct bits get set.
10668
106692006-04-10 04:37  gb
10670
10671        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10672
106732006-04-10 04:37  gb
10674
10675        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10676        a bit simpler.
10677
106782006-04-10 04:36  gb
10679
10680        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10681        the MAKE-LOAD-FORM method for hashtables.
10682
106832006-04-09 09:17  gb
10684
10685        * lisp-kernel/thread_manager.c: Inflate control stack size on
10686        x8664, until DWS marker works (and do so correctly this time).
10687
106882006-04-09 09:12  gb
10689
10690        * lisp-kernel/thread_manager.c: Inflate control stack size on
10691        x8664, until DWS marker works.
10692
106932006-04-09 09:09  gb
10694
10695        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10696        #+x86-target DBG trap.
10697
106982006-04-09 08:57  gb
10699
10700        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10701        (Should be exactly the same code, but may not have been 15 years
10702        ago or whenever this was written.)
10703
107042006-04-09 08:56  gb
10705
10706        * lisp-kernel/x86-spentry64.s,
10707        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10708        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10709
107102006-04-09 03:52  gb
10711
10712        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10713        condition_to_boolean.  Not clear why this is necessary, but it
10714        seems to be.
10715
107162006-04-09 03:24  gb
10717
10718        * lisp-kernel/x86-macros.s: Use shorter sequence in
10719        condition_to_boolean.
10720
107212006-04-09 02:32  gb
10722
10723        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10724        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10725        other things being equal.
10726
107272006-04-09 01:37  gb
10728
10729        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10730        operands backwards.
10731
107322006-04-09 01:37  gb
10733
10734        * compiler/optimizers.lisp: Comment formatting.
10735
107362006-04-09 01:29  gb
10737
10738        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10739        bsr/xorl != clz when (zerop n).
10740
107412006-04-08 21:25  gb
10742
10743        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10744        current thread before entering kernel debugger.
10745
107462006-04-08 21:21  gb
10747
10748        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10749        (TARGET-XLOAD-MODULES).
10750
107512006-04-08 21:21  gb
10752
10753        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10754
107552006-04-08 21:20  gb
10756
10757        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10758
107592006-04-08 20:46  gb
10760
10761        * lib/foreign-types.lisp: Add missing paren ...
10762
107632006-04-08 20:45  gb
10764
10765        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10766
107672006-04-08 20:44  gb
10768
10769        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10770        structs by value, sort of.
10771
107722006-04-08 20:43  gb
10773
10774        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10775
107762006-04-08 20:42  gb
10777
10778        * library/hash-cons.lisp: Port some of this to x8664; need to add
10779        code to maintain "used" bitmap.
10780
107812006-04-08 20:42  gb
10782
10783        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10784        short term.
10785
107862006-04-08 20:41  gb
10787
10788        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10789        someday fix this crap.
10790
107912006-04-08 20:40  gb
10792
10793        * lib/describe.lisp: Conditionalize, a little.
10794
107952006-04-08 20:40  gb
10796
10797        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10798
107992006-04-08 20:39  gb
10800
10801        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10802
108032006-04-08 20:39  gb
10804
10805        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10806
108072006-04-08 20:39  gb
10808
10809        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10810        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10811
108122006-04-08 20:38  gb
10813
10814        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10815        l1-readloop-lds (nothing to do with PPC or traps ...)
10816
108172006-04-08 20:37  gb
10818
10819        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10820
108212006-04-08 04:46  gb
10822
10823        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10824        restore, even if there's only one values-producing form (that form
10825        might produce more values than will fit in argument registers, and
10826        we therefore have to reserve space for a stack frame.)
10827
108282006-04-08 04:45  gb
10829
10830        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10831
108322006-04-08 04:43  gb
10833
10834        * lib/macros.lisp: Scanning backwards for instructions depends on a
10835        reasonable architecture.
10836
108372006-04-08 04:43  gb
10838
10839        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10840
108412006-04-08 04:42  gb
10842
10843        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10844        target arch.
10845
108462006-04-08 04:41  gb
10847
10848        * xdump/.cvsignore: ignore *.*fsl
10849
108502006-04-07 22:46  gb
10851
10852        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10853
108542006-04-07 22:45  gb
10855
10856        * compiler/nx1.lisp: Provide an FTYPE declaration for
10857        %DEFINE-PPC-LAP-FUNCTION.
10858
108592006-04-07 22:25  gb
10860
10861        * level-1/version.lisp: Bump.
10862
108632006-04-07 22:19  gb
10864
10865        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10866        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10867        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10868        package.
10869
108702006-04-07 22:18  gb
10871
10872        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
10873        arch:: to ccl::.
10874
108752006-04-07 22:17  gb
10876
10877        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
10878        RISC-LAP, for instance).  That's a different package, too.
10879
108802006-04-07 20:46  gb
10881
10882        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
10883
108842006-04-07 20:45  gb
10885
10886        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
10887        I maybe look at the others, or just fix them as I stumble on them ?
10888
108892006-04-07 20:44  gb
10890
10891        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
10892        a DOUBLE-FLOAT.
10893
108942006-04-07 20:41  gb
10895
10896        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
10897        message.
10898
108992006-04-07 20:40  gb
10900
10901        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
10902        fulltag-immheader-0 twice in fasl-scan-dispatch
10903       
10904        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
10905        never handled uninterned symbols that need a binding index.)
10906
109072006-04-07 07:55  gb
10908
10909        * lib/describe.lisp: Formatting changes, mostly.
10910
109112006-04-07 07:54  gb