source: trunk/ccl/ChangeLog @ 7173

Last change on this file since 7173 was 7173, 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: 784.6 KB
Line 
12007-09-06 14:10  gb
2
3        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
4        write-info-plist
5
62007-09-04 23:11  gb
7
8        * cocoa-ide/cocoa-editor.lisp: New! Improved!
9       
10        The code which arranges for editing changes to be processed in the
11        main thread now does so via an NSInvocation (ObjC's notion of a
12        closure, sort of); the methods which run in the main thread handle
13        the job of synchronizing the underlying the Hemlock string and the
14        "real" NSMutableAttributedString as well as informing the text
15        system of pending editing changes via
16        #/edited:range:changeInLength:.  The code which processes deletions
17        does the change processing before modifying the string (other
18        methods do it after the change); this seems to be necessary to
19        avoid some things that could cause ticket:50.  (I'm not sure if
20        this fixes ticket:50, but it does seem to fix a reproducible case.)
21       
22        The #/replaceCharactersInRange:withString: method on
23        hemlock-text-storage (which handles buffer changes originating from
24        non-Hemlock sources) is careful to use a :right-inserting temporary
25        mark when modifying the buffer, to help ensure that
26        insertions/deletions take place at the correct absolute position.
27        (This may at least partially address bugs related to things getting
28        confused/out-of-bounds errors when doing lots of cutting and
29        pasting, though it's hard to know without reproducible cases.)
30       
31        The macros NSSTRING-ENCODING-TO-NSINTEGER and
32        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
33        least one of them wasn't.)
34       
35        The handling of text encoding for editor documents has changed in a
36        few ways.  If "automatic" encoding is used in an "Open ..." dialog
37        and is successfully able to infer a text file's encoding, the
38        encoding that was inferred becomes the document's encoding (used in
39        subsequent "save" operations.)  On some OSX versions, the automatic
40        detection mechanism can only recognize UTF-16 files that contain a
41        leading BOM (and the editor's code for dealing with the automatic
42        mechanism didn't expect this to ever work.)  On other systems, the
43        automatic mechanism can return something correct (I've seen UTF-8)
44        but possibly suboptimal.
45       
46        The Open... dialog now defaults to something derived from the
47        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
48        "automatic" is a little unpredictable, the new default is probably
49        better.
50       
51        The NSDocument mechanism for creating backup files (with names of
52        the form "name~.ext") is not used; when backup files are created,
53        we try to copy the original to a file whose name conforms to the
54        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
55        seem to work better when the Emacs scheme is used (though I suppose
56        some people might prefer the NSDocument scheme and we could make
57        this a preference.)
58
592007-09-04 22:11  gb
60
61        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
62        creating a Listener, since (a) that method's deprecated in favor of
63        #/setFileURL: and (b) a newly-created Listener doesn't really have
64        an associated filename, and so shouldn't get the icon and popup in
65        its titlebar.
66       
67        Do arrange that (unless/until a listener document is saved to a
68        file) its window title is based on the underlying Hemlock buffer's
69        name.  (If one ever attempts to save a listener document, the
70        proposed file name is the internal NSDocument name; we might or
71        might not want to change that.)
72
732007-09-04 22:10  gb
74
75        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
76        *MODELINE-FONT-NAME*, -SIZE*.
77
782007-09-04 19:13  gb
79
80        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
81        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
82        which was supposed to allow us to track the high end of a range of
83        pages that'd been written to and not freed (so we'd zero them
84        lazily when they were reallocated.)  Such a scheme would really
85        need to track both ends of such a range, and the old scheme wound
86        up being overly zealous and often zeroed pages that were already
87        zeroed.  Zero the range between the old free pointer and the new
88        one after each GC, instead.
89       
90        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
91        carefully.
92
932007-09-04 19:12  gb
94
95        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
96        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
97
982007-09-04 19:11  gb
99
100        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
101        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
102        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
103        this in the PPC backends.
104       
105        (This needs testing ...)
106
1072007-09-04 19:10  gb
108
109        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
110        :single-float callback results have been coerced to :double-float
111        on x8664.
112
1132007-09-03 18:10  gb
114
115        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
116        selection or the symbol around point, regardless of global parsing
117        state (Ticket:95).  While in there, make meta-. with a numarg
118        prompt for symbol to look up.
119
1202007-08-30 20:10  gb
121
122        * level-1/l1-error-system.lisp: Add a restart for unbound
123        variable/undefined function errors -- if there is a unique
124        bound/fbound symbol of the same name in another package, offer to
125        use it instead.
126
1272007-08-30 19:10  gb
128
129        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
130        inaccesible files; it might return an exit status of 2 if it finds
131        such files, so treat that as "success" for now (ticket:98).
132
1332007-08-30 18:11  gb
134
135        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
136        Variable command output (ticket:97).
137
1382007-08-30 18:10  gb
139
140        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
141        VARIABLE-VALUE to access buffer's package (ticket:82).
142
1432007-08-30 15:11  gb
144
145        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
146        code to copy user-supplied nibfiles into a saved application bundle
147
1482007-08-30 14:10  gb
149
150        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
151        all callers of current-point-for-deletion handle the nil return
152        value case.  This fixes ticket:85
153
1542007-08-29 20:11  gb
155
156        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
157        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
158        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
159        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
160        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
161        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
162        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
163        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
164        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
165        hemlock/src/fill.lisp, hemlock/src/font.lisp,
166        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
167        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
168        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
169        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
170        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
171        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
172        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
173        hemlock/src/macros.lisp, hemlock/src/main.lisp,
174        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
175        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
176        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
177        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
178        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
179        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
180        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
181        hemlock/src/text.lisp, hemlock/src/undo.lisp,
182        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
183        hemlock/src/archive/auto-save.lisp,
184        hemlock/src/archive/bit-display.lisp,
185        hemlock/src/archive/bit-screen.lisp,
186        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
187        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
188        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
189        hemlock/src/archive/eval-server.lisp,
190        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
191        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
192        hemlock/src/archive/lisp-lib.lisp,
193        hemlock/src/archive/lispbuf.lisp,
194        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
195        hemlock/src/archive/netnews.lisp,
196        hemlock/src/archive/overwrite.lisp,
197        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
198        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
199        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
200        hemlock/src/archive/spell-corr.lisp,
201        hemlock/src/archive/spell-rt.lisp,
202        hemlock/src/archive/spellcoms.lisp,
203        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
204        hemlock/src/archive/ts-stream.lisp,
205        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
206        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
207        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
208        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
209        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
210        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
211        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
212        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
213        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
214        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
215        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
216        hemlock/website/index.html.in: umm, load cocoa-grep where it will
217        work...
218
2192007-08-29 20:10  gb
220
221        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
222
2232007-08-29 13:11  gb
224
225        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
226
2272007-08-29 12:12  gb
228
229        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
230        arg (simple case), move point to the location of the temporary mark
231        after calling the indent function.
232
2332007-08-29 12:11  gb
234
235        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
236        returns 2 values: the "column" (with tabs expanded) of the first
237        non-whitespace character on the line and that character's position.
238         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
239        position if no changes are necessary.
240
2412007-08-29 12:10  gb
242
243        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
244        method, make an NS-MUTABLE-STRING even if the string from the
245        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
246        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
247         mutable.) For ticket:84.
248
2492007-08-28 23:10  gb
250
251        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
252        hi::scroll-window actually scroll, not just move insertion point
253        around.  Fixes ticket:88.
254
2552007-08-26 13:11  gb
256
257        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
258        keyword argument to build-application: main-nib-name; names the
259        nigfile that is to be the main nib of the built application
260
2612007-08-26 12:10  gb
262
263        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
264        application bulder to trunk
265
2662007-08-25 02:13  gb
267
268        * cocoa-ide/cocoa-listener.lisp:
269        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
270        #\^d after sending the string.  (This is just a workaround for
271        ticket:82; the trailing #\^d is just treated as whitespace and
272        terminates calls to READ.  We really want some way of recognizing
273        "end of selection" and treating that like a transient EOF in some
274        cases.)
275
2762007-08-25 02:12  gb
277
278        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
279        #/openDocumentWithContentsOfURL:display:error:, since calling
280        #/openDocumentWithContentsOfURL:display: complains that
281        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
282        Cocoa.  (Note that we'd been calling
283        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
284        implementation without incident.)
285
2862007-08-25 02:11  gb
287
288        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
289        notes buffer modification.
290
2912007-08-25 02:10  gb
292
293        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
294        modification.
295
2962007-08-23 17:17  gb
297
298        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
299        method.
300
3012007-08-23 17:16  gb
302
303        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
304        #/editingInProgress method.  Add some more (conditionalized) debug
305        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
306        command thread as well as in Cocoa thread.  Make sure that Hemlock
307        command thread has bindings of command-processing data structures,
308        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
309        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
310        only set by isearch when it exits.
311
3122007-08-23 17:15  gb
313
314        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
315        font name and size; initially, Monaco 9.  (Not yet changeable
316        through preferences panel.) Adjust outline view's row height based
317        on font height.  Set the data cell to "non-editable" (could have
318        done this in IB).  Provide handlers for some menu commands
319        (continue, restarts, exitBreak); no need to validate menu items for
320        them (those commands should be available whenever backtrace dialog
321        is active.)
322
3232007-08-23 17:14  gb
324
325        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
326        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
327
3282007-08-23 17:13  gb
329
330        * cocoa-ide/hemlock/src/package.lisp: Export
331        RECURSIVE-GET-KEY-EVENT.
332
3332007-08-23 17:12  gb
334
335        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
336        read symbol for arglist.  (Should probably be more careful
337        elsewhere, too.)
338
3392007-08-23 17:11  gb
340
341        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
342        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
343        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
344
3452007-08-23 17:10  gb
346
347        * cocoa-ide/hemlock/src/echo.lisp: Don't call
348        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
349        still be pending on the echo area (how ?), and
350        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
351        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
352
3532007-08-23 16:11  gb
354
355        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
356        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
357        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
358        events in some modal loop in a command.  (The idea is that toplevel
359        editing commands inhibit redisplay in the main buffer while they're
360        active; commands which recursively process key events and which may
361        make changes to that buffer should allow redisplay while they're
362        waiting in RECURSIVE-GET-KEY-EVENT.)
363
3642007-08-23 16:10  gb
365
366        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
367        revert.
368
3692007-08-18 19:11  gb
370
371        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
372        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
373        race conditions where two threads try to update a distpatch table
374        index with different {wrapper, combined-method} pairs at the same
375        time.  (As it's written, if the store-conditional fails because a
376        slot that we thought was free is now in use, we simply don't cache
377        the pair and get a cache miss the next time; that may or may not be
378        more work than repeating the whole process would be.)
379       
380        The store-conditional is used on attempt to update the
381        combined-method slot in the pair; the wrapper slot is only updated
382        if the store-conditional succeeds.  Code which probes the wrapper
383        slots shouldn't be confused by a half-updated pair (should never
384        see a non-null wrapper slot and a null combined-method slot.)
385
3862007-08-18 17:11  gb
387
388        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
389        %DECODE-TYPE.
390
3912007-08-18 16:10  gb
392
393        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
394        determine if selection highlighting can be used, since
395        #_class_respondsToSelector requires ObjC-2.0)
396
3972007-08-16 08:22  gb
398
399        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
400        extended selection highlighting if it's supported.
401       
402        Clear the shift bit from key events associated with standard-chars.
403
4042007-08-16 08:20  gb
405
406        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
407        bound to movement commands run different commands.
408       
409        Left-mouse has the :mouse-exit logical attribute.
410
4112007-08-16 08:19  gb
412
413        * cocoa-ide/hemlock/src/buffer.lisp:
414        CURRENT-POINT-COLLAPSING-SELECTION and
415        CURRENT-POINT-EXTENDING-SELECTION replace
416        CURRENT-POINT-FOR-MOVEMENT.
417
4182007-08-16 08:18  gb
419
420        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
421        translation.
422       
423        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
424        selection highlighting under Leopard.
425
4262007-08-16 08:16  gb
427
428        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
429        "shifted" and "unshifted" variants.
430
4312007-08-16 08:15  gb
432
433        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
434        attribute.
435
4362007-08-16 08:14  gb
437
438        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
439        bit for standard-char (and upper-case.) This means that
440        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
441        (in which the shift modifier isn't explicitly set) and that
442        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
443        modifier is set in the latter.)
444
4452007-08-16 08:13  gb
446
447        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
448        the buffer if the line's already indented properly.
449       
450        Movement commands come in two variants: those that collapse and
451        those that extend the selection.
452
4532007-08-16 08:12  gb
454
455        * cocoa-ide/hemlock/src/package.lisp: Export
456        CURRENT-POINT-EXTENDING-SELECTION and
457        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
458        CURRENT-POINT-FOR-MOVEMENT.
459
4602007-08-16 08:10  gb
461
462        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
463        empatically (under Leopard) after successful (non incremental)
464        search.
465       
466        Incremental search also hilites the selection, but doesn't yet
467        manage the selection on failure.
468
4692007-08-16 07:10  gb
470
471        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
472        by invoking #/activateHemlockView on main thread; call
473        deactivate-hemlock-view on the peer.
474       
475        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
476        but I'm fairly sure that this stuff needs to happen on the main
477        thread.
478
4792007-08-09 16:10  gb
480
481        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
482        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
483
4842007-08-07 15:10  gb
485
486        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
487        beginning of buffer and end of buffer.  It's Mac standard, and I
488        use it a lot.  Home was bound to "Help".
489       
490        Make clicking the mouse while incremental searching exit instead of
491        abort, leaving the insertion point where you click instead of where
492        the isearch was started.
493
4942007-08-06 23:10  gb
495
496        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
497        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
498        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
499        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
500        hemlock key event, set the hemlock shift bit if the the Cocoa shift
501        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
502        bit cleared and the keysym downcased (if necessary).  Leave
503        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
504        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
505        deactivates the region ("collapses the selection") if the shift bit
506        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
507        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
508        hopefully all) movement commands, to address ticket:36 .  Define a
509        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
510        to it to address ticket:44 .
511
5122007-08-06 19:10  gb
513
514        * objc-bridge/objc-support.lisp: careful with db stuff
515
5162007-08-04 13:12  gb
517
518        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
519        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
520         (Should maybe do this on mousedown in the echo area, too.) Some
521        indentation changes.
522
5232007-08-04 12:14  gb
524
525        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
526        :abort key event.
527
5282007-08-04 12:13  gb
529
530        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
531        title for show lossage command.
532
5332007-08-04 12:12  gb
534
535        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
536        left mouse down, so that we can use #k"leftdown".
537
5382007-08-04 12:11  gb
539
540        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
541
5422007-08-03 15:10  gb
543
544        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
545
5462007-08-03 10:10  gb
547
548        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
549        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
550
5512007-08-03 09:10  gb
552
553        * level-0/l0-array.lisp: Define list-to-vector.
554
5552007-08-02 07:16  gb
556
557        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
558        #/changeFont:; use targeted messages.  Ensure that font panel picks
559        up the right font.
560
5612007-08-02 07:16  gb
562
563        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
564        default.
565
5662007-08-02 07:15  gb
567
568        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
569        view, echo area) unselectable when activating via Hemlock command.
570        Text views don't use font panel by default; enable/disable font
571        panel when setting text color.
572
5732007-08-02 07:14  gb
574
575        * cocoa-ide/.cvsignore: New.
576
5772007-08-02 07:13  gb
578
579        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
580        CREATE-INTERFACES.
581
5822007-08-02 07:12  gb
583
584        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
585
5862007-08-02 07:11  gb
587
588        * library/parse-ffi.lisp: Don't be verbose about explict struct
589        returns.
590
5912007-08-02 07:10  gb
592
593        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
594        anymore.
595
5962007-07-31 19:10  gb
597
598        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
599        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
600
6012007-07-31 07:12  gb
602
603        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
604        to #o644 (not #o666); make sure that it's actually used when
605        creating the image (even if not prepending a kernel to the image.)
606
6072007-07-31 07:11  gb
608
609        * level-1/l1-application.lisp: When processing --version option,
610        don't write to *terminal-io* (which doesn't exist yet.)
611
6122007-07-22 23:50  gb
613
614        * release-notes.txt: Add more stuff.
615
6162007-07-22 23:11  gb
617
618        * level-1/version.lisp: Bump.
619
6202007-07-22 23:10  gb
621
622        * release-notes.txt: Update for 1.1-pre-070722.
623
6242007-07-22 21:11  gb
625
626        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
627
6282007-07-22 21:10  gb
629
630        * cocoa-ide/README: New file.
631
6322007-07-22 18:51  gb
633
634        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
635        package.
636
6372007-07-22 18:50  gb
638
639        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
640
6412007-07-22 18:49  gb
642
643        * level-1/version.lisp: Bump.
644
6452007-07-22 18:48  gb
646
647        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
648        Allocate callback trampolines via mmap on ppc, too.
649
6502007-07-22 18:47  gb
651
652        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
653        RUN-PROGRAM to merge-pathnames.
654
6552007-07-22 18:46  gb
656
657        * level-1/l1-utils.lisp: Don't define BEEP.
658
6592007-07-22 18:46  gb
660
661        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
662        was counting chars (nchars) twice.
663
6642007-07-22 18:45  gb
665
666        * level-1/l1-streams.lisp: selection-stream changes.
667
6682007-07-22 18:44  gb
669
670        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
671        about restarts in backtrace context.
672
6732007-07-22 18:43  gb
674
675        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
676        can be overridden.
677
6782007-07-22 18:42  gb
679
680        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
681        *MODULE-SEARCH-PATH*.
682
6832007-07-22 18:41  gb
684
685        * level-1/l1-format.lisp: Handling of * format directive when
686        dealing with circularity screws up other things that expect
687        *FORMAT-ARGUMENTS* to share structure with
688        *FORMAT-ORIGINAL-ARGUMENTS*.
689
6902007-07-22 18:40  gb
691
692        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
693        ENSURE-DIRECTORY-NAMESTRING.
694
6952007-07-22 18:40  gb
696
697        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
698        interactive break.
699
7002007-07-22 18:39  gb
701
702        * level-1/l1-error-system.lisp: Stream error context stuff.
703
7042007-07-22 18:38  gb
705
706        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
707        (e.g., as NSExceptions.)
708
7092007-07-22 18:37  gb
710
711        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
712        CLASS-SLOT-INITARGS.
713
7142007-07-22 18:36  gb
715
716        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
717        allocation stuff (which uses mmap to ensure that the callback is in
718        executable memory) here, since it'll be needed on ppc64 leopard, at
719        least.
720
7212007-07-22 18:35  gb
722
723        * level-1/l1-application.lisp: Argument handling and interactive
724        stream initialization happens in a :before method on
725        (toplevel-function application).
726
7272007-07-22 18:34  gb
728
729        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
730        special args/locals, too.
731
7322007-07-22 18:33  gb
733
734        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
735        for backtrace/inspect someday.
736
7372007-07-22 18:33  gb
738
739        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
740
7412007-07-22 18:32  gb
742
743        * lib/macros.lisp: Callbacks that try to do magic foreign error
744        stuff use HANDLER-BIND, not HANDLER-CASE.
745       
746        Other callback-changes to reduce incidental consing sometimes.
747
7482007-07-22 18:31  gb
749
750        * lib/backtrace.lisp: %show-args-and-locals,
751        %stack-frames-in-context: changes for new backtrace presentation.
752
7532007-07-22 18:30  gb
754
755        * lib/compile-ccl.lisp: Remove some duplicate definitions.
756
7572007-07-22 18:29  gb
758
759        * lib/describe.lisp: Some (signigicant) stack-frame changes.
760
7612007-07-22 18:28  gb
762
763        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
764
7652007-07-22 18:27  gb
766
767        * lib/arglist.lisp: Provide -some- arglist info for special
768        operators.  ARG-NAMES-FROM-MAP.
769
7702007-07-22 18:27  gb
771
772        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
773
7742007-07-22 18:26  gb
775
776        * lib/source-files.lisp: Comment formatting.
777
7782007-07-22 18:25  gb
779
780        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
781        to provide context.
782
7832007-07-22 18:24  gb
784
785        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
786        get confused by null register values, etc.
787
7882007-07-22 18:23  gb
789
790        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
791        not ppc32/ppc64.
792
7932007-07-22 18:22  gb
794
795        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
796        64-bit key-scrambling stuff.
797
7982007-07-22 18:21  gb
799
800        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
801
8022007-07-22 18:21  gb
803
804        * level-0/l0-utils.lisp: s32->u32, u32->s32.
805
8062007-07-22 18:20  gb
807
808        * level-0/l0-error.lisp: foreign exception error stuff.
809
8102007-07-22 18:19  gb
811
812        * level-1/l1-sockets.lisp: Sockets created with :format :binary
813        don't have element-type of character, though this crap is all
814        pretty nebulous.
815
8162007-07-22 18:18  gb
817
818        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
819
8202007-07-22 18:17  gb
821
822        * library/pty.lisp: set-pty-raw.
823
8242007-07-22 18:16  gb
825
826        * library/hemlock.lisp: Moved elsewhere.
827
8282007-07-22 18:15  gb
829
830        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
831        frames.
832
8332007-07-22 18:14  gb
834
835        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
836
8372007-07-22 18:14  gb
838
839        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
840        exception bit on interrupt.
841
8422007-07-22 18:13  gb
843
844        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
845        tcr flag bits, including new one for foreign exceptions.
846
8472007-07-22 18:12  gb
848
849        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
850
8512007-07-22 18:11  gb
852
853        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
854        exceptions.
855
8562007-07-22 18:10  gb
857
858        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
859        stack for pthread.  Foreign exception callbacks: put some 0s on the
860        stack for callback.
861
8622007-07-22 18:09  gb
863
864        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
865
8662007-07-22 18:08  gb
867
868        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
869        ensure_stack_limit(): if stack size is constrained by limits, don't
870        exceed those limits.
871
8722007-07-22 18:08  gb
873
874        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
875
8762007-07-22 18:07  gb
877
878        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
879
8802007-07-22 18:06  gb
881
882        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
883
8842007-07-22 18:03  gb
885
886        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
887        OpenMCL.app/Contents/MacOS/dppccl,
888        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
889        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
890        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
891        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
892        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
893        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
894        ib,
895        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
896        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
897        cts.nib,
898        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
899        lasses.nib,
900        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
901        nfo.nib,
902        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
903        eyedobjects.nib,
904        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
905        nib,
906        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
907        ,
908        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
909        ects.nib,
910        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
911        .nib,
912        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
913        b,
914        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
915        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
916        OpenMCL.app/Contents/Resources/Help/index.html,
917        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
918        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
919        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
920        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
921        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
922        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
923        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
924        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
925        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
926        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
927        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
928        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
929        rings,
930        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
931        /classes.nib,
932        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
933        /info.nib,
934        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
935        /keyedobjects.nib,
936        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
937        ctor.nib/classes.nib,
938        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
939        ctor.nib/info.nib,
940        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
941        ctor.nib/keyedobjects.nib,
942        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
943        b/classes.nib,
944        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
945        b/info.nib,
946        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
947        b/keyedobjects.nib,
948        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
949        ib/classes.nib,
950        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
951        ib/info.nib,
952        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
953        ib/keyedobjects.nib,
954        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
955        ib/classes.nib,
956        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
957        ib/info.nib,
958        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
959        ib/keyedobjects.nib,
960        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
961        nib/classes.nib,
962        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
963        nib/info.nib,
964        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
965        nib/keyedobjects.nib,
966        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
967        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
968        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
969        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
970        cocoa-ide/hemlock/hemlock11.cursor,
971        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
972        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
973        cocoa-ide/hemlock/doc/.cvsignore,
974        cocoa-ide/hemlock/doc/cim/.cvsignore,
975        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
976        cocoa-ide/hemlock/doc/cim/cim.mss,
977        cocoa-ide/hemlock/doc/misc/.cvsignore,
978        cocoa-ide/hemlock/doc/misc/compilation.order,
979        cocoa-ide/hemlock/doc/misc/hemlock.log,
980        cocoa-ide/hemlock/doc/misc/hemlock.upd,
981        cocoa-ide/hemlock/doc/misc/notes.txt,
982        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
983        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
984        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
985        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
986        cocoa-ide/hemlock/doc/user/.cvsignore,
987        cocoa-ide/hemlock/doc/user/commands.mss,
988        cocoa-ide/hemlock/doc/user/intro.mss,
989        cocoa-ide/hemlock/doc/user/lisp.mss,
990        cocoa-ide/hemlock/doc/user/mail.mss,
991        cocoa-ide/hemlock/doc/user/netnews.mss,
992        cocoa-ide/hemlock/doc/user/special-modes.mss,
993        cocoa-ide/hemlock/doc/user/user.mss,
994        cocoa-ide/hemlock/maint/.cvsignore,
995        cocoa-ide/hemlock/maint/publish,
996        cocoa-ide/hemlock/resources/.cvsignore,
997        cocoa-ide/hemlock/resources/XKeysymDB,
998        cocoa-ide/hemlock/resources/mh-scan,
999        cocoa-ide/hemlock/resources/spell-dictionary.text,
1000        cocoa-ide/hemlock/src/.cvsignore,
1001        cocoa-ide/hemlock/src/bindings-gb.lisp,
1002        cocoa-ide/hemlock/src/bindings.lisp,
1003        cocoa-ide/hemlock/src/buffer.lisp,
1004        cocoa-ide/hemlock/src/charmacs.lisp,
1005        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1006        cocoa-ide/hemlock/src/command.lisp,
1007        cocoa-ide/hemlock/src/comments.lisp,
1008        cocoa-ide/hemlock/src/completion.lisp,
1009        cocoa-ide/hemlock/src/cursor.lisp,
1010        cocoa-ide/hemlock/src/decls.lisp,
1011        cocoa-ide/hemlock/src/defsyn.lisp,
1012        cocoa-ide/hemlock/src/doccoms.lisp,
1013        cocoa-ide/hemlock/src/echo.lisp,
1014        cocoa-ide/hemlock/src/echocoms.lisp,
1015        cocoa-ide/hemlock/src/edit-defs.lisp,
1016        cocoa-ide/hemlock/src/filecoms.lisp,
1017        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1018        cocoa-ide/hemlock/src/font.lisp,
1019        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1020        cocoa-ide/hemlock/src/htext1.lisp,
1021        cocoa-ide/hemlock/src/htext2.lisp,
1022        cocoa-ide/hemlock/src/htext3.lisp,
1023        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1024        cocoa-ide/hemlock/src/indent.lisp,
1025        cocoa-ide/hemlock/src/interp.lisp,
1026        cocoa-ide/hemlock/src/kbdmac.lisp,
1027        cocoa-ide/hemlock/src/key-event.lisp,
1028        cocoa-ide/hemlock/src/keysym-defs.lisp,
1029        cocoa-ide/hemlock/src/killcoms.lisp,
1030        cocoa-ide/hemlock/src/line.lisp,
1031        cocoa-ide/hemlock/src/linimage.lisp,
1032        cocoa-ide/hemlock/src/lispdep.lisp,
1033        cocoa-ide/hemlock/src/lispmode.lisp,
1034        cocoa-ide/hemlock/src/listener.lisp,
1035        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1036        cocoa-ide/hemlock/src/modeline.lisp,
1037        cocoa-ide/hemlock/src/morecoms.lisp,
1038        cocoa-ide/hemlock/src/package.lisp,
1039        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1040        cocoa-ide/hemlock/src/register.lisp,
1041        cocoa-ide/hemlock/src/ring.lisp,
1042        cocoa-ide/hemlock/src/rompsite.lisp,
1043        cocoa-ide/hemlock/src/search1.lisp,
1044        cocoa-ide/hemlock/src/search2.lisp,
1045        cocoa-ide/hemlock/src/searchcoms.lisp,
1046        cocoa-ide/hemlock/src/srccom.lisp,
1047        cocoa-ide/hemlock/src/streams.lisp,
1048        cocoa-ide/hemlock/src/struct.lisp,
1049        cocoa-ide/hemlock/src/syntax.lisp,
1050        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1051        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1052        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1053        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1054        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1055        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1056        cocoa-ide/hemlock/src/archive/bufed.lisp,
1057        cocoa-ide/hemlock/src/archive/debug.lisp,
1058        cocoa-ide/hemlock/src/archive/dired.lisp,
1059        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1060        cocoa-ide/hemlock/src/archive/display.lisp,
1061        cocoa-ide/hemlock/src/archive/dylan.lisp,
1062        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1063        cocoa-ide/hemlock/src/archive/group.lisp,
1064        cocoa-ide/hemlock/src/archive/highlight.lisp,
1065        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1066        cocoa-ide/hemlock/src/archive/input.lisp,
1067        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1068        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1069        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1070        cocoa-ide/hemlock/src/archive/mh.lisp,
1071        cocoa-ide/hemlock/src/archive/netnews.lisp,
1072        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1073        cocoa-ide/hemlock/src/archive/pascal.lisp,
1074        cocoa-ide/hemlock/src/archive/rcs.lisp,
1075        cocoa-ide/hemlock/src/archive/screen.lisp,
1076        cocoa-ide/hemlock/src/archive/scribe.lisp,
1077        cocoa-ide/hemlock/src/archive/shell.lisp,
1078        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1079        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1080        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1081        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1082        cocoa-ide/hemlock/src/archive/srccom.lisp,
1083        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1084        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1085        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1086        cocoa-ide/hemlock/src/archive/window.lisp,
1087        cocoa-ide/hemlock/src/archive/winimage.lisp,
1088        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1089        cocoa-ide/hemlock/src/elisp/.cvsignore,
1090        cocoa-ide/hemlock/src/elisp/base.lisp,
1091        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1092        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1093        cocoa-ide/hemlock/src/elisp/compile.lisp,
1094        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1095        cocoa-ide/hemlock/src/elisp/implementation-needed,
1096        cocoa-ide/hemlock/src/elisp/internals.lisp,
1097        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1098        cocoa-ide/hemlock/src/elisp/packages.lisp,
1099        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1100        cocoa-ide/hemlock/src/spell/.cvsignore,
1101        cocoa-ide/hemlock/src/spell/build.lisp,
1102        cocoa-ide/hemlock/src/spell/classes.lisp,
1103        cocoa-ide/hemlock/src/spell/constants.lisp,
1104        cocoa-ide/hemlock/src/spell/correlate.lisp,
1105        cocoa-ide/hemlock/src/spell/flags.lisp,
1106        cocoa-ide/hemlock/src/spell/hashing.lisp,
1107        cocoa-ide/hemlock/src/spell/io.lisp,
1108        cocoa-ide/hemlock/src/spell/package.lisp,
1109        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1110        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1111        cocoa-ide/hemlock/src/spell/spell.asd,
1112        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1113        cocoa-ide/hemlock/src/tty/.cvsignore,
1114        cocoa-ide/hemlock/src/tty/termcap.lisp,
1115        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1116        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1117        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1118        cocoa-ide/hemlock/src/wire/.cvsignore,
1119        cocoa-ide/hemlock/src/wire/Notes,
1120        cocoa-ide/hemlock/src/wire/package.lisp,
1121        cocoa-ide/hemlock/src/wire/port.lisp,
1122        cocoa-ide/hemlock/src/wire/remote.lisp,
1123        cocoa-ide/hemlock/src/wire/wire.lisp,
1124        cocoa-ide/hemlock/unused/.cvsignore,
1125        cocoa-ide/hemlock/unused/bit-stream.lisp,
1126        cocoa-ide/hemlock/unused/clx-ext.lisp,
1127        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1128        cocoa-ide/hemlock/unused/gosmacs.lisp,
1129        cocoa-ide/hemlock/unused/hacks.lisp,
1130        cocoa-ide/hemlock/unused/hemcom.lisp,
1131        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1132        cocoa-ide/hemlock/unused/keytran.lisp,
1133        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1134        cocoa-ide/hemlock/unused/spell-build.lisp,
1135        cocoa-ide/hemlock/unused/struct-ed.lisp,
1136        cocoa-ide/hemlock/unused/tty-stream.lisp,
1137        cocoa-ide/hemlock/website/.cvsignore,
1138        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1139        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1140        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1141        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1142        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1143        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1144        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1145        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1146        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1147        examples/objc-clos.lisp, examples/objc-package.lisp,
1148        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1149        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1150        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1151        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1152        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1153        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1154        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1155        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1156        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1157        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1158        hemlock/doc/misc/perq-hemlock.log,
1159        hemlock/doc/misc/things-to-do.txt,
1160        hemlock/doc/scribe-converter/.cvsignore,
1161        hemlock/doc/scribe-converter/NOTES,
1162        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1163        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1164        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1165        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1166        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1167        hemlock/maint/publish, hemlock/resources/.cvsignore,
1168        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1169        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1170        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1171        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1172        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1173        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1174        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1175        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1176        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1177        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1178        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1179        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1180        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1181        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1182        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1183        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1184        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1185        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1186        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1187        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1188        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1189        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1190        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1191        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1192        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1193        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1194        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1195        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1196        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1197        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1198        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1199        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1200        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1201        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1202        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1203        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1204        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1205        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1206        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1207        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1208        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1209        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1210        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1211        hemlock/src/table.lisp, hemlock/src/text.lisp,
1212        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1213        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1214        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1215        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1216        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1217        hemlock/src/elisp/base.lisp,
1218        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1219        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1220        hemlock/src/elisp/hemlock-shims.lisp,
1221        hemlock/src/elisp/implementation-needed,
1222        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1223        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1224        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1225        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1226        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1227        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1228        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1229        hemlock/src/spell/spell-aug.lisp,
1230        hemlock/src/spell/spell-dictionary.text,
1231        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1232        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1233        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1234        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1235        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1236        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1237        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1238        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1239        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1240        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1241        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1242        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1243        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1244        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1245        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1246        objc-bridge/fake-cfbundle-path.lisp,
1247        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1248        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1249        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1250        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1251        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1252        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1253        things moved from "examples" to one of these directories,
1254        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1255        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1256        "ide-1.0" branch for details.
1257
12582007-06-15 19:10  gb
1259
1260        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1261
12622007-06-15 14:10  gb
1263
1264        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1265        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1266        (shouldn't get here if we're catching that upstream, but ...)
1267
12682007-06-01 08:34  gb
1269
1270        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1271        caught most places.
1272
12732007-06-01 08:33  gb
1274
1275        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1276        if it can't find the package, accepts a stream argument in order to
1277        signal that type of error.  (Note that this has never been
1278        recoverable in general, especially in the case where the input
1279        stream is *terminal-io* or shares its input stream.)
1280
12812007-06-01 08:32  gb
1282
1283        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1284        reporting themselves.
1285
12862007-06-01 08:31  gb
1287
1288        * level-1/l1-error-system.lisp: Define and use
1289        STREAM-ERROR-CONTEXT.
1290
12912007-06-01 08:30  gb
1292
1293        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1294        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1295        probably have been caught earlier.
1296
12972007-06-01 08:29  gb
1298
1299        * level-1/l1-streams.lisp: Try to provide some context -
1300        "surrounding characters" - for reader/stream errors on character
1301        input streams.
1302
13032007-06-01 08:28  gb
1304
1305        * level-1/l1-unicode.lisp: Get number of args right in call to
1306        STRING-ENCODED-LENGTH-IN-BYTES from
1307        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1308
13092007-06-01 08:28  gb
1310
1311        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1312        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1313        order.  Both functions are usually open-coded (and the inlined
1314        versions seem to be OK), but the ObjC bridge funcalls these
1315        functions when getting/setting foreign slots of the appropriate
1316        type.
1317
13182007-06-01 08:27  gb
1319
1320        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1321        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1322        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1323
13242007-06-01 08:26  gb
1325
1326        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1327        all of it" case in %CSTR-POINTER; deal with all other cases in
1328        %CSTR-SEGMENT-POINTER.
1329
13302007-06-01 08:25  gb
1331
1332        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1333        under return address, exception callback frame (xcf) on stack.
1334       
1335        handle-udf-call: don't try to fix up the stack if we try to
1336        continue; let kernel deal with this after the callback.
1337
13382007-06-01 08:24  gb
1339
1340        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1341        return address on the top of the stack when this is entered
1342        (#-of-arguments traps).  Put it in the right place when building
1343        the frame.
1344       
1345        create_exception_callback_frame: look for tra on top of lisp stack,
1346        not in register (usually.)
1347       
1348        handle_error(): if we return after calling out for int #xc7 (call
1349        to undefined function), fix up the stack and other registers so
1350        that we can return the value(s) returned by the lisp-side handler.
1351        (It's hard for the lisp-side handler to do the stack manipulation,
1352        because of the xcf on the stack and because of the need to deal
1353        with the return address on the stack.)
1354
13552007-06-01 08:23  gb
1356
1357        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1358        lea/jmp: push ra0 on stack before trap, for the benefit of
1359        create_exception_callback_frame().
1360
13612007-06-01 08:22  gb
1362
1363        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1364
13652007-06-01 08:22  gb
1366
1367        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1368        write a BOM here.
1369
13702007-06-01 08:21  gb
1371
1372        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1373        since the switch to the new tra scheme.
1374
13752007-06-01 08:19  gb
1376
1377        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1378        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1379
13802007-05-12 18:27  gb
1381
1382        * release-notes.txt: Update for 070512.
1383
13842007-05-12 18:27  gb
1385
1386        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1387
13882007-05-12 18:26  gb
1389
1390        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1391
13922007-05-12 18:25  gb
1393
1394        * level-1/version.lisp: Bump.
1395
13962007-05-12 18:24  gb
1397
1398        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1399        heap by more than what we need if GC is obviously disabled.
1400
14012007-05-12 18:23  gb
1402
1403        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1404        suppress overflow checking in some cases.
1405
14062007-05-12 18:22  gb
1407
1408        * compiler/X86/x862.lisp: Fix indentation.
1409
14102007-05-12 18:22  gb
1411
1412        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1413        beyond segment if GC (obviously) disabled.
1414
14152007-05-12 18:21  gb
1416
1417        * level-1/l1-streams.lisp: Fix typo.
1418
14192007-05-12 18:20  gb
1420
1421        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1422        separate character encode/decode limits.
1423
14242007-05-12 18:19  gb
1425
1426        * level-1/l1-unicode.lisp: Start to bootstrap separate
1427        encode/decode limits.
1428
14292007-05-12 18:18  gb
1430
1431        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1432        nonsense when referencing mxcsr in debug_show_fpu().
1433
14342007-05-12 18:17  gb
1435
1436        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1437        earlier.  Sheesh.
1438
14392007-05-12 18:17  gb
1440
1441        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1442
14432007-05-12 18:16  gb
1444
1445        * level-1/version.lisp: Bump, for now.
1446
14472007-05-12 18:15  gb
1448
1449        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1450        ABI version.
1451
14522007-05-12 18:14  gb
1453
1454        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1455        new TRA interpretation.
1456
14572007-05-12 18:13  gb
1458
1459        * lisp-kernel/x86-spjump64.s: nmkunwind.
1460
14612007-05-12 18:12  gb
1462
1463        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1464        nMake_Catch handles return addresses on stack.  repret, for use
1465        when a one-byte ret instruction is a branch target or is preceded
1466        by a conditional branch.
1467
14682007-05-12 18:11  gb
1469
1470        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1471        exception contexts.
1472
14732007-05-12 18:11  gb
1474
1475        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1476        exception context; new TRA handling.
1477
14782007-05-12 18:10  gb
1479
1480        * lisp-kernel/x86-exceptions.c: New tra handling.
1481        new_heap_segment: try to avoid requesting too much when user sets
1482        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1483        down to fault handler, don't call out to lisp on faults in foreign
1484        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1485
14862007-05-12 18:08  gb
1487
1488        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1489        assignments.
1490
14912007-05-12 18:07  gb
1492
1493        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1494        sequence.
1495
14962007-05-12 18:06  gb
1497
1498        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1499
15002007-05-12 18:05  gb
1501
1502        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1503        that're branch targets or that follow conditional branches.
1504
15052007-05-12 18:04  gb
1506
1507        * lisp-kernel/thread_manager.c: Conditionalize for
1508        USE_MACH_EXCEPTION_LOCK.
1509
15102007-05-12 18:03  gb
1511
1512        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1513
15142007-05-12 18:02  gb
1515
1516        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1517        explicit blr.
1518
15192007-05-12 18:01  gb
1520
1521        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1522         Gee, I hope that works.
1523
15242007-05-12 18:00  gb
1525
1526        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1527
15282007-05-12 17:59  gb
1529
1530        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1531        using the mechanism.
1532
15332007-05-12 17:59  gb
1534
1535        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1536        extend with (possibly very large) lisp_heap_gc_threshold, try
1537        smaller values.
1538       
1539        Pass "old_valence" to exception handlers; don't call out to lisp on
1540        memory faults from foreign code.
1541
15422007-05-12 17:58  gb
1543
1544        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1545
15462007-05-12 17:57  gb
1547
1548        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1549        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1550        be correct/necessary.
1551
15522007-05-12 17:56  gb
1553
1554        * lisp-kernel/lisp-debug.c: lisp register display changes for
1555        x86-64.  Get FPU display working on x86-64.
1556
15572007-05-12 17:55  gb
1558
1559        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1560        calling-sequence change.
1561
15622007-05-12 17:54  gb
1563
1564        * lisp-kernel/image.h: New ABI version.
1565
15662007-05-12 17:54  gb
1567
1568        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1569        could; if only I could ...
1570
15712007-05-12 17:53  gb
1572
1573        * lib/x8664env.lisp: More imm temps! (one more ...).
1574
15752007-05-12 17:52  gb
1576
1577        * lib/nfcomp.lisp: Bump current fasl version.
1578
15792007-05-12 17:51  gb
1580
1581        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1582        in cross-compiled code.
1583
15842007-05-12 17:50  gb
1585
1586        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1587        interface dir, because of cross-compilation issues.
1588
15892007-05-12 17:49  gb
1590
1591        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1592        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1593
15942007-05-12 17:49  gb
1595
1596        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1597        transition.
1598
15992007-05-12 17:48  gb
1600
1601        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1602
16032007-05-12 17:47  gb
1604
1605        * lib/encapsulate.lisp: Add a comment.
1606
16072007-05-12 17:46  gb
1608
1609        * library/hash-cons.lisp: Very small lap change.
1610
16112007-05-12 17:45  gb
1612
1613        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1614        %FIXNUM-SET-MACPTR elsewhere.
1615
16162007-05-12 17:44  gb
1617
1618        * level-1/linux-files.lisp: File-mapped vectors.
1619
16202007-05-12 17:43  gb
1621
1622        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1623        :new-version if pathname-version of filename is :NEWEST.
1624
16252007-05-12 17:43  gb
1626
1627        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1628        with a CONDITION object.
1629
16302007-05-12 17:42  gb
1631
1632        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1633
16342007-05-12 17:41  gb
1635
1636        * level-1/l1-pathnames.lisp: If there's no host component in a
1637        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1638
16392007-05-12 17:40  gb
1640
1641        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1642        listener stack sizes now static.
1643
16442007-05-12 17:39  gb
1645
1646        * level-1/l1-files.lisp: Pathname arcana.
1647
16482007-05-12 17:38  gb
1649
1650        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1651        SIGINT.
1652
16532007-05-12 17:38  gb
1654
1655        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1656        changes.
1657
16582007-05-12 17:37  gb
1659
1660        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1661       
1662        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1663
16642007-05-12 17:36  gb
1665
1666        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1667
16682007-05-12 17:35  gb
1669
1670        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1671        here.
1672
16732007-05-12 17:34  gb
1674
1675        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1676
16772007-05-12 17:33  gb
1678
1679        * level-0/X86/x86-utils.lisp: New calling sequence.
1680
16812007-05-12 17:32  gb
1682
1683        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1684        EQL.
1685
16862007-05-12 17:32  gb
1687
1688        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1689        be careful with %rcx (now %imm2) in shift instructions.
1690
16912007-05-12 17:30  gb
1692
1693        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1694        sequence.
1695
16962007-05-12 17:29  gb
1697
1698        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1699        new-calling-sequence changes.
1700
17012007-05-12 17:27  gb
1702
1703        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1704        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1705        %temp2, and no need to be so careful with it.
1706
17072007-05-12 17:26  gb
1708
1709        * compiler/vinsn.lisp: global label-valued temporaries.
1710
17112007-05-12 17:25  gb
1712
1713        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1714
17152007-05-12 17:24  gb
1716
1717        * compiler/nx0.lisp: Try to do a little type inference for more
1718        flavors of AREF.
1719
17202007-05-12 17:23  gb
1721
1722        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1723        afunc (or equivalent) as a non-nil second value.
1724
17252007-05-12 17:22  gb
1726
1727        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1728        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1729        less nasty.
1730
17312007-05-12 17:21  gb
1732
1733        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1734        calling sequence, new tra/talign scheme.
1735
17362007-05-12 17:21  gb
1737
1738        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1739        rip)).
1740
17412007-05-12 17:20  gb
1742
1743        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1744        rip-relative label refs.
1745
17462007-05-12 17:19  gb
1747
1748        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1749        support :talign directive in vinsn templates.
1750
17512007-05-12 17:18  gb
1752
1753        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1754        is a register ...
1755
17562007-05-12 17:17  gb
1757
1758        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1759        for most things, except calls to subprims that manipulate the
1760        stack.
1761
17622007-05-12 17:16  gb
1763
1764        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1765        cross-compilation with x86-64 targets a little easier, by using a
1766        cross-ftd interface directory.
1767
17682007-05-12 17:16  gb
1769
1770        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1771        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1772        scheme.
1773
17742007-05-12 17:15  gb
1775
1776        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1777        unwind-protect uses nmkunwind (more happens out-of-line.)
1778
17792007-05-12 17:14  gb
1780
1781        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1782
17832007-05-12 17:13  gb
1784
1785        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1786
17872007-05-12 17:12  gb
1788
1789        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1790
17912007-05-12 17:11  gb
1792
1793        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1794        %GET-KERNEL-GLOBAL-PTR actually work.
1795
17962007-05-07 19:10  gb
1797
1798        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1799        returns a CONS, signal the right flavor of TYPE-ERROR if it
1800        doesn't.
1801
18022007-05-05 18:10  gb
1803
1804        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1805        the hash table, it tries to enable the GC before doing so.
1806
18072007-05-04 22:10  gb
1808
1809        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1810        finds in the environment, not just non-nil.
1811
18122007-05-01 18:10  gb
1813
1814        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1815        computation for GC-VERBOSE entry.
1816
18172007-05-01 06:11  gb
1818
1819        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1820        utf-16 variants.
1821       
1822        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1823        function.
1824
18252007-05-01 06:10  gb
1826
1827        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1828        darwin ppc64 thread state structure, just like Apple does.  Can I
1829        blame them for getting this wrong, please ?
1830       
1831        Use the right argument names in ppc64 cmain callback; can't blame
1832        Apple.
1833
18342007-04-30 23:12  gb
1835
1836        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1837        on Darwin, and should probably be removed completely.  Now that
1838        it's explicitly extern, don't try to reference it at runtime on
1839        linuxppc.
1840
18412007-04-30 23:11  gb
1842
1843        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1844        referenced at runtime and explicitly extern, so make sure that it's
1845        initialized on all platforms.
1846
18472007-04-30 23:10  gb
1848
1849        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1850        oxymoron - is specific to Darwin.
1851
18522007-04-21 00:10  gb
1853
1854        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1855        directory after translating logical pathnames; it's generally
1856        meaningless to do PROBE-FILE on the directory component of a
1857        logical pathname.
1858
18592007-04-19 15:10  gb
1860
1861        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1862        if it conflicts with an immediate temporary (we'll need all the imm
1863        temps we have on x86-64.)
1864
18652007-04-17 20:10  gb
1866
1867        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1868        version of recent aset2/aset3 register-conflict changes.
1869
18702007-04-16 15:10  gb
1871
1872        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1873        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1874
18752007-04-16 14:11  gb
1876
1877        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1878        :signed-doublewod.
1879
18802007-04-16 13:10  gb
1881
1882        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1883        Memory-fault errors on PPC, too.
1884
18852007-04-16 04:34  gb
1886
1887        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1888        renaming nonsense.
1889
18902007-04-16 02:12  gb
1891
1892        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1893
18942007-04-16 02:11  gb
1895
1896        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1897
18982007-04-16 02:10  gb
1899
1900        * level-1/l1-error-system.lisp: Change wording of
1901        INVALID-MEMORY-ACCESS error message, a little.
1902
19032007-04-16 01:13  gb
1904
1905        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1906        memory faults.
1907
19082007-04-16 01:12  gb
1909
1910        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1911        now.
1912
19132007-04-16 01:11  gb
1914
1915        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1916        INVALID-MEMORY-ACCESS condition.
1917
19182007-04-16 01:10  gb
1919
1920        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1921
19222007-04-15 19:11  gb
1923
1924        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1925        aset2/aset3 changes.
1926
19272007-04-15 19:10  gb
1928
1929        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1930        it's an imm-reg; we need another imm-reg to do some index
1931        calculations.
1932
19332007-04-14 18:10  gb
1934
1935        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
1936        unscramble what it means for an interrupt to be pending on x86-64.
1937
19382007-04-14 00:13  gb
1939
1940        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
1941        generated when it is in ... unmentionable OS releases.
1942
19432007-04-14 00:11  gb
1944
1945        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
1946        work around laughable Apple ld64 gibberish.
1947
19482007-04-12 02:11  gb
1949
1950        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
1951        two-dimensional arrays: need to target specific registers if array
1952        has element type T.
1953
19542007-04-12 02:10  gb
1955
1956        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
1957        appropriate, not :x86-64 twice.
1958
19592007-04-11 05:10  gb
1960
1961        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
1962        for bivalent streams.
1963       
1964        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
1965        maintain the element-type separately, just look in ioblock.
1966        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
1967
19682007-04-10 22:10  gb
1969
1970        * lisp-kernel/x86-spentry64.s: Branch at
1971        C(egc_store_node_conditional_success_test) should bracnch
1972        backwards, not forwards.  (This was leading to spurious
1973        "<something> is not a proper list" errors, because the next label
1974        named "0" is in middle of the the _SPprogvsage code that tests for
1975        a proper list.)
1976
19772007-04-10 00:11  gb
1978
1979        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
1980        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
1981        RLET or equivalent to avoid making GCable pointers for ObjC
1982        dispatch function args; trust the compiler to do that for us.
1983
19842007-04-10 00:10  gb
1985
1986        * examples/bridge.lisp: If any method defined on a message passes a
1987        structure by value, install a compiler macro on the dispatch
1988        function.
1989       
1990        In that compiler, look for apparent calls to know structure
1991        constructors; replace those with calls to the corresponding
1992        initialization function, and stack-allocate a structure instance
1993        around the call.  (Suggested by Kevin Reid, and something that
1994        SEND/SLET did - sort of - that the new approach didn't.)
1995       
1996        Keep track of info about common foreign structs (initializer,
1997        constructor, etc.) to make doing stuff like this easier.
1998
19992007-04-09 16:10  gb
2000
2001        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2002        the result of sending the init message is a null pointer, return a
2003        null pointer.
2004
20052007-04-09 00:10  gb
2006
2007        * release-notes.txt: Update for 070408.
2008       
2009        (Yes, it's 070409 here already ...)
2010
20112007-04-08 15:12  gb
2012
2013        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2014
20152007-04-08 15:10  gb
2016
2017        * xdump/faslenv.lisp: Bump min fasl version.
2018
20192007-04-08 14:11  gb
2020
2021        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2022        jump table, to work around (still more) Apple ld64 nonsense.
2023
20242007-04-08 13:14  gb
2025
2026        * lib/nfcomp.lisp: Bump current fasl version.
2027
20282007-04-08 13:13  gb
2029
2030        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2031
20322007-04-08 13:12  gb
2033
2034        * xdump/faslenv.lisp: Bump max fasl version.
2035
20362007-04-08 13:11  gb
2037
2038        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2039        people who try to build this kernel on an x86 mac will take longer
2040        to realize that that's usually a bad idea.
2041
20422007-04-08 12:09  gb
2043
2044        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2045        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2046        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2047        cocoa-window.lisp, cocoa.lisp:
2048        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2049       
2050        Some changes in font, nsstring stuff to avoid using deprecated
2051        featurs.
2052
20532007-04-08 12:07  gb
2054
2055        * examples/: webkit.lisp, addressbook.lisp:
2056        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2057       
2058        Use OBJC:LOAD-FRAMEWORK.
2059
20602007-04-08 12:06  gb
2061
2062        * examples/tiny.lisp:
2063        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2064
20652007-04-08 12:05  gb
2066
2067        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2068        rubix.lisp:
2069        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2070       
2071        Handle CGFLOAT issues in mouse event handlers.
2072
20732007-04-08 12:04  gb
2074
2075        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2076       
2077        Define "foreign struct classes" for several common structure types
2078        (rectangle, point, size); generate inlined accessors for their
2079        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2080        macros.
2081       
2082        #/ reader macro: reads a string containing "constituent" characters
2083        (including #\:), preserving case.  Does a little bit of
2084        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2085        package.
2086       
2087        Try to deal with cases where foreign type info may be parsed or
2088        unparsed.
2089       
2090        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2091         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2092        message info, tries to determine ambiguity, calls signature
2093        function (possibly after trying to resolve ambiguity.)
2094       
2095        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2096        calling a signature function that knows how to dispatch to SUPER
2097        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2098       
2099        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2100        OBJC-DISPATCH-FUNCTION.
2101       
2102        Handle PROTOCOLs differently in ambiguous SEND.
2103
21042007-04-08 12:04  gb
2105
2106        * examples/objc-runtime.lisp: Compile message send functions per
2107        signature.  Handle vararg message sends, partly at runtime.  INIT
2108        messages just have their signature info precomputed.  Defining a
2109        named OBJC-CLASS makes the class name a static variable whose value
2110        is the class (and likewise for the metaclass.)
2111        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2112        OBJC:DEFMETHOD and support for it.
2113
21142007-04-08 12:03  gb
2115
2116        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2117         Avoid some deprecated C-string stuff (but wimp out and assume
2118        ASCII.) Keep track of objc-class-count, provide
2119        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2120        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2121        etc. elsewhere.
2122
21232007-04-08 12:02  gb
2124
2125        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2126        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2127        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2128        about as lightweight as MAKE-OBJC-INSTANCE.)
2129
21302007-04-08 12:01  gb
2131
2132        * examples/name-translation.lisp:
2133        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2134        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2135
21362007-04-08 12:00  gb
2137
2138        * examples/objc-package.lisp: New file; export more stuff.  Import
2139        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2140        pseudo-GFs.
2141
21422007-04-08 11:59  gb
2143
2144        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2145        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2146        Intern integer types up to 64 bits.
2147
21482007-04-08 11:59  gb
2149
2150        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2151        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2152        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2153        COPY-RECORD.
2154
21552007-04-08 11:58  gb
2156
2157        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2158        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2159        missing brackets.
2160
21612007-04-08 11:57  gb
2162
2163        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2164        not Darwin.  In Darwin, evactuate off of the lisp stack while
2165        interrupts are still disabled.
2166
21672007-04-08 11:56  gb
2168
2169        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2170        (where Apple hasn't yet invented the notion that it needs to be
2171        thread-specific.)
2172
21732007-04-08 11:55  gb
2174
2175        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2176        destroying TCR.
2177
21782007-04-08 11:54  gb
2179
2180        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2181        worked around an old Darwin bug.
2182
21832007-04-08 11:53  gb
2184
2185        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2186
21872007-04-08 11:52  gb
2188
2189        * lisp-kernel/image.c: Don't nuke null pointers.
2190
21912007-04-08 11:52  gb
2192
2193        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2194
21952007-04-08 11:51  gb
2196
2197        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2198        of macptr.domain, macptr.type.
2199
22002007-04-08 11:50  gb
2201
2202        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2203
22042007-04-08 11:49  gb
2205
2206        * library/lispequ.lisp: add pkg.intern-hook to package.
2207
22082007-04-08 11:48  gb
2209
2210        * lib/describe.lisp: Start trying to conditionalize some of the
2211        stack-frame inspector stuff.
2212
22132007-04-08 11:48  gb
2214
2215        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2216        64-bit word components, with FP fields passed in registers.  This
2217        requires some special handling ("hybrid" parameters) in the
2218        compiler and %FF-CALL.
2219
22202007-04-08 11:47  gb
2221
2222        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2223        endianness.
2224
22252007-04-08 11:46  gb
2226
2227        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2228
22292007-04-08 11:45  gb
2230
2231        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2232        in %SOURCE-FILES-LIKE-EM.
2233
22342007-04-08 11:44  gb
2235
2236        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2237
22382007-04-08 11:43  gb
2239
2240        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2241        MAKE-XREF-ENTRY.
2242
22432007-04-08 11:43  gb
2244
2245        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2246
22472007-04-08 11:42  gb
2248
2249        * level-1/version.lisp: Bump; new snapshots tomorrow.
2250
22512007-04-08 11:41  gb
2252
2253        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2254
22552007-04-08 11:40  gb
2256
2257        * level-1/linux-files.lisp: Very long timeout for
2258        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2259        if we have to wait at all.
2260       
2261        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2262       
2263        Make PIPE code slightly easier to read.
2264
22652007-04-08 11:39  gb
2266
2267        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2268
22692007-04-08 11:38  gb
2270
2271        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2272        CHARACTER-ENCODING, use it to determine number/sequence of octets
2273        used to encode NUL.
2274
22752007-04-08 11:38  gb
2276
2277        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2278       
2279        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2280        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2281        so that echoing looks more natural.
2282
22832007-04-08 11:37  gb
2284
2285        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2286        object.
2287
22882007-04-08 11:36  gb
2289
2290        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2291        changes manually and most of the effects were cosmetic.
2292        TOPLEVEL-PRINT takes an output stream arg.
2293
22942007-04-08 11:35  gb
2295
2296        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2297
22982007-04-08 11:34  gb
2299
2300        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2301        interrupt is obviously pending.
2302
23032007-04-08 11:33  gb
2304
2305        * level-1/l1-io.lisp: Change pointer printing.
2306
23072007-04-08 11:33  gb
2308
2309        * level-1/l1-init.lisp: +NULL-PTR+.
2310
23112007-04-08 11:31  gb
2312
2313        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2314        preferred name for DEFGLOBAL.
2315
23162007-04-08 11:30  gb
2317
2318        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2319        for DEFGLOBAL.
2320       
2321        Mechanism for associating a (built-in) class with a foreign type
2322        ordinal.
2323
23242007-04-08 11:29  gb
2325
2326        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2327        for DEFGLOBAL.
2328       
2329        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2330        likely the global value of some symbol.)
2331
23322007-04-08 11:28  gb
2333
2334        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2335        DEFGLOBAL.
2336       
2337        Standard CL streams now bound per-thread.
2338       
2339        Install standard foreign types here, not every time that
2340        FOREIGN-TYPES is loaded.
2341       
2342        Canonicalize foreign type ordinals as soon as we can.  (This is
2343        part of a scheme to give foreign types "ordinals' that can be used
2344        to assert pointer types; we need some of those ordinal numbers to
2345        be pre-assigned, since we can't reference foreign types early in
2346        the cold load.)
2347
23482007-04-08 11:27  gb
2349
2350        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2351        DEFGLOBAL.  GCABLE-PTR-P.
2352
23532007-04-07 21:25  gb
2354
2355        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2356         Handle maintenance of auto-export packages differently.
2357        $fasl-timm just needs an :int, not a :long.
2358
23592007-04-07 21:24  gb
2360
2361        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2362        "functional", not random symbol guts.
2363
23642007-04-07 21:23  gb
2365
2366        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2367        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2368        interrupts are re-enabled.
2369
23702007-04-07 21:22  gb
2371
2372        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2373
23742007-04-07 21:20  gb
2375
2376        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2377        %PTR-STORE-FIXNUM-CONDITIONAL.
2378
23792007-04-07 21:19  gb
2380
2381        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2382        in DarwinPPC64 #'%FF-CALL.
2383
23842007-04-07 21:19  gb
2385
2386        * compiler/optimizers.lisp: When trying to infer result type of
2387        MAKE-ARRAY call, unquote quoted type specifier.
2388       
2389        Strength-reduce FLOAT when second argument is of known type.
2390
23912007-04-07 21:18  gb
2392
2393        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2394
23952007-04-07 21:17  gb
2396
2397        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2398        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2399        Parse %short-float, %double-float when no "result" arg; can at
2400        least try to constant-fold late and/or do some cases if we have
2401        more type info.
2402
24032007-04-07 21:16  gb
2404
2405        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2406        be bound" error message.
2407
24082007-04-07 21:15  gb
2409
2410        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2411        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2412
24132007-04-07 21:14  gb
2414
2415        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2416        remaning GPR/FPR counts even if arg is "simple" and passes straight
2417        through to %FF-CALL.
2418
24192007-04-07 21:13  gb
2420
2421        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2422        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2423        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2424        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2425        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2426
24272007-04-07 21:12  gb
2428
2429        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2430        for Darwin structure-passing ABI.
2431
24322007-04-07 21:10  gb
2433
2434        * OpenMCL.app/Contents/Resources/English.lproj/:
2435        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2436        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2437        OpenmclInspector.nib/keyedobjects.nib,
2438        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2439        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2440        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2441        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2442        representation, not binary.
2443
24442007-04-06 22:10  gb
2445
2446        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2447        (RLIMIT_AS) current resource limit to max limit, since some distros
2448        limit it.
2449
24502007-04-03 03:11  gb
2451
2452        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2453        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2454
24552007-04-02 22:10  gb
2456
2457        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2458        arg in utf-16 encode, missing #x in little-endian bom-marker
2459        definition.)
2460
24612007-03-14 23:10  gb
2462
2463        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2464
24652007-03-14 05:11  gb
2466
2467        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2468        generate-callback-bindings.
2469
24702007-03-13 06:10  gb
2471
2472        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2473
24742007-03-13 03:58  gb
2475
2476        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2477
24782007-03-12 05:11  gb
2479
2480        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2481        little.
2482
24832007-03-12 05:10  gb
2484
2485        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2486        %EXTERNAL-CALL-EXPANDER.
2487
24882007-03-12 05:09  gb
2489
2490        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2491        encapsulation, and a lock.
2492
24932007-03-12 05:08  gb
2494
2495        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2496        thread-local.
2497
24982007-03-12 02:25  gb
2499
2500        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2501        deal with variations in Mach behavior: "exception" may be
2502        EXC_BAD_ACCESS when an illegal instruction causes a "general
2503        protection fault".
2504
25052007-03-09 15:56  gb
2506
2507        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2508        NIL ...)
2509
25102007-03-09 00:01  gb
2511
2512        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2513
25142007-03-09 00:00  gb
2515
2516        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2517        *OPEN-FILE-STREAMS*.
2518
25192007-03-09 00:00  gb
2520
2521        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2522        open-file-streams.
2523
25242007-03-08 23:59  gb
2525
2526        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2527        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2528
25292007-03-08 23:58  gb
2530
2531        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2532        associated with it.
2533
25342007-03-08 23:57  gb
2535
2536        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2537
25382007-03-08 23:47  gb
2539
2540        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2541        hash-table, it fills the hash-table vector with "free" markers.
2542        (There may already be lots of "deleted" markers in the table.)
2543
25442007-03-08 22:26  gb
2545
2546        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2547
25482007-03-08 22:24  gb
2549
2550        * lib/numbers.lisp: printing random-state: don't shift seeds.
2551
25522007-03-08 22:24  gb
2553
2554        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2555
25562007-03-08 22:24  gb
2557
2558        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2559
25602007-03-08 22:23  gb
2561
2562        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2563
25642007-03-08 22:23  gb
2565
2566        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2567        %next-random-pair.
2568
25692007-03-08 22:22  gb
2570
2571        * level-0/l0-numbers.lisp: And, while we're at it: do the
2572        next-random-seed permutation in %next-random-pair, which accepts
2573        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2574        in lisp on 64-bit platforms.
2575
25762007-03-08 22:20  gb
2577
2578        * level-0/l0-numbers.lisp: Don't shift random seeds.
2579
25802007-03-08 03:30  gb
2581
2582        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2583        rather than >= #x80, because of the new way that
2584        uuo-error-slot-unbound is encoded.
2585
25862007-03-08 03:28  gb
2587
2588        * compiler/X86/x86-disassemble.lisp: Recognize
2589        uuo-error-slot-unbound.
2590
25912007-03-08 03:28  gb
2592
2593        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2594        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2595
25962007-03-07 08:29  gb
2597
2598        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2599
26002007-03-07 07:45  gb
2601
2602        * level-1/linux-files.lisp: For #+linux-target, try to use
2603        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2604        if that fails.  (CPU-COUNT is called early in the cold load, before
2605        we can make the file-stream necessary to do the parsing.)
2606
26072007-03-07 07:33  gb
2608
2609        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2610        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2611
26122007-03-07 07:25  gb
2613
2614        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2615        el-bizarro syscall mask, pass the magic number 0x1e as a second
2616        arg, just in case.
2617
26182007-03-07 07:24  gb
2619
2620        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2621        before accessing *OPEN-FILE-STREAMS*.
2622
26232007-03-07 07:23  gb
2624
2625        * level-1/l1-readloop.lisp: Add comment about
2626        *OPEN-FILE-STREAMS-LOCK*.
2627
26282007-03-07 07:23  gb
2629
2630        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2631
26322007-03-07 07:21  gb
2633
2634        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2635        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2636
26372007-03-07 07:05  gb
2638
2639        * xdump/heap-image.lisp: Bump current image version.
2640
26412007-03-07 07:02  gb
2642
2643        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2644        "calls" want an argument in ecx.  Set that arg to 0 for now.
2645
26462007-03-07 07:01  gb
2647
2648        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2649        "real" locks; those updates can be simplified.
2650       
2651        lock_recursive_lock: no (ignored) timeout arg.
2652
26532007-03-07 06:59  gb
2654
2655        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2656        support the old one.
2657
26582007-03-07 06:59  gb
2659
2660        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2661        prototype.  Change declaration of LOCK macro: no null timespec
2662        required.  RECURSIVE_LOCKs have spinlock fields.
2663
26642007-03-07 06:56  gb
2665
2666        * level-1/version.lisp: bump, indicate work-in-progress development
2667        version.
2668
26692007-03-07 06:56  gb
2670
2671        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2672        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2673        rather than something lower-level.
2674
26752007-03-07 06:53  gb
2676
2677        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2678        to obtain them before yielding.
2679
26802007-03-07 06:52  gb
2681
2682        * level-0/l0-io.lisp: Move YIELD elsewhere.
2683
26842007-03-07 06:51  gb
2685
2686        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2687        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2688        layout.
2689
26902007-03-02 05:10  gb
2691
2692        * level-1/l1-application.lisp: Toplevel function: initial-listener
2693        class is 'TTY-LISTENER.
2694
26952007-03-02 05:09  gb
2696
2697        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2698        message.
2699
27002007-03-02 05:09  gb
2701
2702        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2703       
2704        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2705        For TTY-LISTENER, call QUIT.
2706
27072007-03-02 05:08  gb
2708
2709        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2710        EXIT-INTERACTIVE-PROCESS instead.
2711       
2712        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2713
27142007-03-02 05:06  gb
2715
2716        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2717
27182007-03-02 05:06  gb
2719
2720        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2721        of null pointers into body.
2722
27232007-03-02 05:05  gb
2724
2725        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2726        consus-interruptus.
2727
27282007-03-02 05:05  gb
2729
2730        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2731        <constant> if constant is of type <type>.)
2732       
2733        Do we need an ignore-errors here ? Or does <type> need to be
2734        defined ?
2735
27362007-03-02 05:03  gb
2737
2738        * compiler/X86/x862.lisp: Do the / * thing.
2739
27402007-03-02 05:02  gb
2741
2742        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2743        :call attribute.
2744
27452007-03-01 04:04  gb
2746
2747        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2748        new binding frame
2749
27502007-02-28 07:04  gb
2751
2752        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2753        rather than %rbp; trust callback_for_interrupt() to preserve it.
2754
27552007-02-28 07:03  gb
2756
2757        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2758        callback_for_interrupt().
2759
27602007-02-28 05:18  gb
2761
2762        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2763        counts) that may wind up on the vstack.
2764       
2765        Since those tiny things might be tagged as headers, walk the vstack
2766        with new "headerless" functions that ignore headers.
2767
27682007-02-28 05:16  gb
2769
2770        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2771        before the alloc trap and interrupting, back out of the
2772        modification to save_allocptr (and allocptr register) and set
2773        *interrupt_displacement.
2774
27752007-02-23 10:13  gb
2776
2777        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2778        only makes sense for cases where we have to guess; a bitfield
2779        that's 8 bits wide still has an alignment of 1.
2780       
2781        Factor in the alignment of the containing int when bitfields are
2782        involved.
2783       
2784        When parsing a record type, set the "bits" slot of each field.
2785        (Not too many things look at that slot, but we want the effect of
2786        loading a record from the database to match the effect of parsing a
2787        definition as exactly as possible, and to be able to use EQUALP to
2788        compare the results.)
2789
27902007-02-23 10:06  gb
2791
2792        * lib/db-io.lisp: Some extra fields in
2793        objc-message-info/objc-method-info structures.
2794       
2795        When calculating overall alignment of a structure, treat bitfields
2796        as if they were :unsigned-int (since there's a "containing"
2797        unsigned int that affects alignment.  N.B: this should be imposed
2798        for anything that has an alignment of 1, not just a size of 1.)
2799       
2800        When loading integer types, try to use the precomputed types rather
2801        than consing a new one.  This (a) reduces consing a little (b) is
2802        more likely to get the alignment correct.  For (b), we really need
2803        to distinguish between bitfields and addressable integers.
2804
28052007-02-23 09:30  gb
2806
2807        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2808
28092007-02-22 02:33  gb
2810
2811        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2812
28132007-02-22 02:28  gb
2814
2815        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2816        heap size right ...).
2817
28182007-02-22 02:27  gb
2819
2820        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2821        traditional (sysv) style of hash maps, if it understands that
2822        option.
2823
28242007-02-21 06:01  gb
2825
2826        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2827        has been consed since last GC.  (There are some fenceposts there.)
2828       
2829        verbose GC herald tries to indicate how much is allocated in the
2830        area being GCed.
2831
28322007-02-21 05:58  gb
2833
2834        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2835        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2836
28372007-02-21 05:57  gb
2838
2839        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2840        uuo-gc-trap.
2841
28422007-02-19 04:50  gb
2843
2844        * lib/foreign-types.lisp: Use keywords more consistently.
2845       
2846        (Note: there seems to be a bug which is keeping the cdb data
2847        structures from getting defined correctly at load time; the
2848        workaround is to compile foreign-types.lisp - which defines them -
2849        in the same session as and before db-io - which uses them - is
2850        compiled.)
2851
28522007-02-19 04:48  gb
2853
2854        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2855        error.
2856
28572007-02-19 04:42  gb
2858
2859        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2860        the error function.
2861
28622007-02-19 04:40  gb
2863
2864        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2865        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2866
28672007-02-19 04:40  gb
2868
2869        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2870        FUNCALLABLE-STANDARD-OBJECT.
2871       
2872        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2873        creating a GF.
2874
28752007-02-19 04:36  gb
2876
2877        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2878        funcallable-stanard-objects better.
2879
28802007-02-19 04:34  gb
2881
2882        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2883        CCL, OPENMCL-MOP.
2884
28852007-02-19 02:09  gb
2886
2887        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2888        FUNCALLABLE-STANDARD-CLASS.
2889
28902007-02-19 02:07  gb
2891
2892        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2893        error message.
2894
28952007-02-15 02:46  gb
2896
2897        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2898        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2899
29002007-02-15 02:45  gb
2901
2902        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2903        methods yet.
2904
29052007-02-14 02:39  gb
2906
2907        * release-notes.txt: Fix a typo.
2908
29092007-02-14 02:35  gb
2910
2911        * release-notes.txt: Update for 070214 snapshots.
2912
29132007-02-13 23:36  gb
2914
2915        * level-1/version.lisp: Bump.
2916
29172007-02-13 23:36  gb
2918
2919        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2920        image-abi-version.
2921
29222007-02-13 23:29  gb
2923
2924        * xdump/faslenv.lisp: Finish bumping fasl version.
2925
29262007-02-13 23:15  gb
2927
2928        * lib/nfcomp.lisp: Bump current fasl version.
2929
29302007-02-13 23:02  gb
2931
2932        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2933
29342007-02-13 22:45  gb
2935
2936        * xdump/faslenv.lisp: Start bumping fasl-version.
2937
29382007-02-13 22:41  gb
2939
2940        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
2941        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
2942
29432007-02-13 21:16  gb
2944
2945        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
2946        that contain incompatible definitions of some math library stuff
2947        ("log" either has to do with logarithms or logging ...).
2948
29492007-02-13 18:42  gb
2950
2951        * lib/misc.lisp: Change the way that TIME is reported by default:
2952        mention the number of available CPU cores, don't assume that
2953        there's that much of a relationship between CPU time and wall-clock
2954        time.
2955
29562007-02-13 18:41  gb
2957
2958        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
2959        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
2960        when :execute, too.
2961
29622007-02-13 18:35  gb
2963
2964        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
2965        offset arg is required.
2966
29672007-02-13 18:12  gb
2968
2969        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
2970        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
2971
29722007-02-13 18:10  gb
2973
2974        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
2975        cons.)
2976
29772007-02-13 18:10  gb
2978
2979        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
2980        are more/other float-size issues deeper down in the code.
2981
29822007-02-13 18:09  gb
2983
2984        * examples/objc-support.lisp: Fixup the x86-64 error-return
2985        callback trampiline code (was missing a byte of machine code.)
2986
29872007-02-13 18:08  gb
2988
2989        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
2990        jmp-buf to safe/sane values.
2991
29922007-02-13 18:07  gb
2993
2994        * examples/cocoa-window.lisp: Don't change-class
2995        *cocoa-event-process* until we start to run the event loop.
2996       
2997        Don't do _deallocHardCore: explicitly.
2998
29992007-02-13 17:35  gb
3000
3001        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3002        DOUBLE-FLOAT aliases just one gpr.
3003
30042007-02-13 17:34  gb
3005
3006        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3007
30082007-02-13 17:34  gb
3009
3010        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3011        32-bit ints, not "long".
3012
30132007-02-13 17:33  gb
3014
3015        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3016        for each scalar, not each arg.
3017       
3018        Fix some backquoting/indentation.
3019
30202007-02-13 17:31  gb
3021
3022        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3023
30242007-02-12 16:23  gb
3025
3026        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3027
30282007-02-11 20:22  gb
3029
3030        * examples/bridge.lisp: method-typestring needs to be
3031        conditionalized.  How has this been working ?
3032
30332007-02-11 20:22  gb
3034
3035        * examples/cocoa-editor.lisp: remove some debugging code.
3036
30372007-02-11 20:21  gb
3038
3039        * examples/objc-runtime.lisp: %mlist-containing is
3040        #-apple-objc-2.0.
3041
30422007-02-11 20:21  gb
3043
3044        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3045
30462007-02-11 05:35  gb
3047
3048        * level-1/version.lisp: Bump.
3049
30502007-02-11 05:28  gb
3051
3052        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3053        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3054        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3055        an optional argument; default to the Tiger SDK.
3056
30572007-02-11 05:26  gb
3058
3059        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3060        an errror.
3061
30622007-02-11 05:26  gb
3063
3064        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3065        Leopard renaming.  Suffer.
3066
30672007-02-11 05:25  gb
3068
3069        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3070        an existing process (so that the listener process appears to be
3071        "persistent".)
3072
30732007-02-11 05:24  gb
3074
3075        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3076        make the initial-listener object persistent acrosss
3077        SAVE-APPLICATION.
3078
30792007-02-11 00:01  gb
3080
3081        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3082       
3083        Handle callback-error-returns on x86-64.
3084
30852007-02-11 00:00  gb
3086
3087        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3088        use %ptr<, to hide word-size differences.
3089       
3090        __NSConstantStringClassReference isn't what it used to be, so look
3091        up NSConstantStringClass the hard way.
3092       
3093        Handle ns-exception/lisp-error stuff on x86-64.
3094       
3095        Do arg/result coercions differently.  Does any code depend on
3096        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3097        MACPTRs).
3098       
3099        Use the new FFI interface for message-sends, callbacks to try to
3100        hide platform-specific ABI issues.
3101       
3102        The _deallocate-hook mechanism - which never really worked -
3103        probably can't work on Objc-2.0.
3104
31052007-02-10 23:54  gb
3106
3107        * examples/bridge.lisp: Make structure return-type explicit in
3108        objc-message-send calls in send/stret and variants.
3109
31102007-02-10 22:34  gb
3111
3112        * examples/cocoa-window.lisp: Some indentation changes and slight
3113        reorganization of the code; shouldn't be any functional/semantic
3114        changes.
3115
31162007-02-10 22:30  gb
3117
3118        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3119        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3120        appropriate; other changes for 64-bit platforms, Objc-2.0.
3121
31222007-02-10 22:28  gb
3123
3124        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3125        CG-FLOATs when appropriate.
3126
31272007-02-10 22:28  gb
3128
3129        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3130
31312007-02-10 22:28  gb
3132
3133        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3134
31352007-02-10 22:27  gb
3136
3137        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3138        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3139        ignore-errors when trying to parse the last arglist form as a
3140        foreign type.
3141
31422007-02-10 22:26  gb
3143
3144        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3145        expansion ...
3146
31472007-02-10 22:26  gb
3148
3149        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3150        use %rdx and %r11 to hold target address.
3151
31522007-02-10 22:23  gb
3153
3154        * library/pty.lisp: Unicode stuff when accessing control char
3155        array; conditionalize for #+darwin-target, not just
3156        #+darwinppc-target.
3157
31582007-02-10 22:22  gb
3159
3160        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3161        ppc-specific; the comment dated from the days of 68K MCL.)
3162
31632007-02-10 22:21  gb
3164
3165        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3166        return 32 bits at a time, to avoid consing little bignums.
3167
31682007-02-10 22:15  gb
3169
3170        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3171
31722007-02-10 22:15  gb
3173
3174        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3175        count, not total byte count.
3176       
3177        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3178        the PPC case, as well.)
3179
31802007-02-10 22:11  gb
3181
3182        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3183        "zero-extend-s8" vinsn, but there does need to be a
3184        "zero-extend-u8".
3185
31862007-02-10 05:38  gb
3187
3188        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3189        #'VALUES.
3190
31912007-02-10 05:38  gb
3192
3193        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3194        ARGLIST can say -something- about lap functions that don't take a
3195        fixed number of arguments.
3196
31972007-02-07 02:54  gb
3198
3199        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3200        "e".
3201
32022007-02-02 02:32  gb
3203
3204        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3205        objc-support.lisp: Start to integrate with FFI changes.  No more
3206        %SEND, process and precompile "init" messages when interfaces are
3207        accessed.  (Note: should try to handle varargs init messages, even
3208        if we have to call %FF-CALL at runtime.)
3209
32102007-02-02 02:31  gb
3211
3212        * examples/: addressbook.lisp, webkit.lisp: Change the
3213        initialization code a bit.
3214
32152007-02-02 02:27  gb
3216
3217        * lib/foreign-types.lisp: Try to fix another case involving
3218        "auxiliary types".
3219       
3220        I think that the concept of auxiliary types might make sense in a
3221        context like:
3222       
3223        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3224        (:struct :bar (:x :int) (:y :int)))))
3225       
3226        In that case, :struct :bar is local to the definition.  In the
3227        similar case:
3228       
3229        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3230        (:struct :bar))))
3231       
3232        :BAR is presumably defined (globally) elsewhere.
3233
32342007-02-02 02:17  gb
3235
3236        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3237         (Setting "SDK=" will hopefully work with older version of xcode.)
3238
32392007-02-02 02:15  gb
3240
3241        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3242
32432007-01-31 23:26  gb
3244
3245        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3246        argument in ppc2-poweropen-foreign-args.
3247
32482007-01-31 22:47  gb
3249
3250        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3251        components from registers.
3252
32532007-01-31 22:45  gb
3254
3255        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3256        brackets are returned verbatim, not downcased.
3257
32582007-01-31 22:44  gb
3259
3260        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3261        accepts :registers.
3262
32632007-01-31 16:36  gb
3264
3265        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3266        New (and, so far, useless) files.
3267
32682007-01-31 16:35  gb
3269
3270        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3271        seems to be 32-bit only.
3272
32732007-01-31 16:34  gb
3274
3275        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3276
32772007-01-31 16:34  gb
3278
3279        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3280
32812007-01-31 16:33  gb
3282
3283        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3284        missing cdb file: dog bytes man; missing parent directory is more
3285        newsworthy.
3286
32872007-01-31 15:38  gb
3288
3289        * library/chud-metering.lisp: Tweak a little, so that it might work
3290        on darwinppc64 (and on darwinx8664 when purify does something
3291        there.)
3292
32932007-01-31 15:06  gb
3294
3295        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3296
32972007-01-31 02:49  gb
3298
3299        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3300
33012007-01-30 22:53  gb
3302
3303        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3304        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3305        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3306        gl/.cvsignore: new files.
3307
33082007-01-30 22:21  gb
3309
3310        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3311        new files.
3312
33132007-01-30 21:58  gb
3314
3315        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3316
33172007-01-30 21:58  gb
3318
3319        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3320        file
3321
33222007-01-30 21:49  gb
3323
3324        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3325        fun!
3326
33272007-01-30 21:40  gb
3328
3329        * library/openmcl-gtk-support.lisp: Conditionalize out the
3330        event-polling task.
3331
33322007-01-30 21:36  gb
3333
3334        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3335        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3336        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3337
33382007-01-30 21:35  gb
3339
3340        * headers/gl/C/populate.sh: process glu.h
3341
33422007-01-30 17:47  gb
3343
3344        * library/parse-ffi.lisp: Always encode explicit structure-typed
3345        function return values.
3346       
3347        Note when we see one, for now.
3348
33492007-01-30 17:45  gb
3350
3351        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3352        leading argument to be paired with a structure-typed return-type.
3353
33542007-01-30 17:43  gb
3355
3356        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3357        the first-arg hack.
3358
33592007-01-30 17:42  gb
3360
3361        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3362        support the old version.
3363       
3364        Don't check the :struct-by-value flag when encoding function
3365        args/results.  (That decision's made above our pay grade now.)
3366       
3367        When reading a :struct/:union definition, try to update an existing
3368        defintion rather than consing up a new one (this matters if the
3369        record is anonymous.)
3370
33712007-01-30 17:39  gb
3372
3373        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3374        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3375        correctly.
3376       
3377        Fix c_socket for #+linuxppc.
3378
33792007-01-30 08:20  gb
3380
3381        * level-1/version.lisp: Bump.
3382
33832007-01-30 08:20  gb
3384
3385        * lib/compile-ccl.lisp: Use make -j to build kernel.
3386
33872007-01-30 07:02  gb
3388
3389        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3390        xmm0/xmm1.
3391
33922007-01-30 07:01  gb
3393
3394        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3395        day's work turned into 2 weeks, somehow.)
3396
33972007-01-30 07:00  gb
3398
3399        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3400        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3401        stuff for x8664 (all platfroms appear to use the same ABI.)
3402
34032007-01-30 03:26  gb
3404
3405        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3406        displacement in %ATOMIC-INCF-NODE.
3407
34082007-01-29 07:27  gb
3409
3410        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3411
34122007-01-29 07:27  gb
3413
3414        * lib/ffi-darwinppc64.lisp: new callback stuff.
3415
34162007-01-29 07:27  gb
3417
3418        * lib/ffi-darwinppc32.lisp: typos-r-us.
3419
34202007-01-29 04:37  gb
3421
3422        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3423
34242007-01-29 04:37  gb
3425
3426        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3427
34282007-01-29 04:36  gb
3429
3430        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3431
34322007-01-29 04:36  gb
3433
3434        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3435
34362007-01-29 04:36  gb
3437
3438        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3439        stuff here.
3440
34412007-01-29 02:33  gb
3442
3443        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3444
34452007-01-28 21:47  gb
3446
3447        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3448        a bit more, change the API, get things working ... still a moving
3449        target.
3450
34512007-01-28 21:46  gb
3452
3453        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3454        (Other platforms still need more bootstrapping.)
3455
34562007-01-28 21:44  gb
3457
3458        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3459        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3460
34612007-01-28 03:21  gb
3462
3463        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3464        dynamic-extent, other decls separately.
3465
34662007-01-28 03:20  gb
3467
3468        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3469        use the new (ftd-based) scheme.
3470
34712007-01-28 01:43  gb
3472
3473        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3474        code's getting replaced, but fix 'em anyway.)
3475
34762007-01-28 01:42  gb
3477
3478        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3479        translated pathname and mention the fact that this might indicate a
3480        problem with "ccl:"'s logical translations.
3481
34822007-01-25 04:37  gb
3483
3484        * lib/foreign-types.lisp: Never fully understood the concept
3485        "auxiliary" foreign types, but try to canonicalize intermediate
3486        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3487        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3488        likely to return T (e.g., something registered in the FTD.
3489       
3490        It seems clear that this is the right thing when the structure
3491        reference is in global scope; I'm not sure what it'd mean for that
3492        not to be the case.
3493
34942007-01-25 04:32  gb
3495
3496        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3497        callback.
3498
34992007-01-24 23:41  gb
3500
3501        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3502        may not even compile.
3503
35042007-01-24 02:39  gb
3505
3506        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3507        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3508        for new FTD functions.
3509
35102007-01-24 02:28  gb
3511
3512        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3513        defstruct.
3514
35152007-01-23 15:28  gb
3516
3517        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3518        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3519        Return FPRs in the same place.  (Will need to re-work all of this
3520        for platform-dependent structure stuff.)
3521
35222007-01-23 15:26  gb
3523
3524        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3525        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3526        the lisp side.)
3527
35282007-01-23 15:21  gb
3529
3530        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3531        c_reg_save for saved fp args (f1-f13).
3532
35332007-01-23 15:14  gb
3534
3535        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3536        ftd hook.
3537
35382007-01-23 07:19  gb
3539
3540        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3541        (CLASS-OF non-simple-string).
3542
35432007-01-23 07:02  gb
3544
3545        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3546        array case, needed new string definition.
3547
35482007-01-23 07:01  gb
3549
3550        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3551        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3552        compiler/X86/X8664/x8664-backend.
3553
35542007-01-23 06:59  gb
3555
3556        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3557        stuff here.
3558
35592007-01-21 08:32  gb
3560
3561        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3562        "-returning-").
3563       
3564        Typecheck the :registers arg.
3565
35662007-01-21 08:32  gb
3567
3568        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3569
35702007-01-21 08:31  gb
3571
3572        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3573        stack-block.
3574
35752007-01-21 08:31  gb
3576
3577        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3578        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3579        instead.
3580
35812007-01-21 06:46  gb
3582
3583        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3584        space for 13 float registers, not 31.
3585
35862007-01-21 06:45  gb
3587
3588        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3589        x86-64.
3590
35912007-01-21 06:38  gb
3592
3593        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3594        register return without typos.
3595
35962007-01-21 06:15  gb
3597
3598        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3599        register return.
3600
36012007-01-21 06:14  gb
3602
3603        * compiler/nx1.lisp: Don't assume that passing a structure by value
3604        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3605        platform that doesn't support the convention.)
3606
36072007-01-21 06:12  gb
3608
3609        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3610        replaces .SPunused-4.
3611
36122007-01-21 06:10  gb
3613
3614        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3615        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3616        (replaces .SPunused_4).
3617
36182007-01-21 00:05  gb
3619
3620        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3621        argument/result coercion functions in os::expand-ff-call.
3622
36232007-01-20 23:53  gb
3624
3625        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3626        results when expanding an ff-call.
3627
36282007-01-20 23:52  gb
3629
3630        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3631        foreign args, results.
3632
36332007-01-20 22:31  gb
3634
3635        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3636        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3637        are to each other.  I'd guess that they're pretty close, and that
3638        x86-64 Darwin is random.)
3639
36402007-01-20 21:55  gb
3641
3642        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3643
36442007-01-20 19:34  gb
3645
3646        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3647
36482007-01-20 19:25  gb
3649
3650        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3651        right os::ff-call-expander.
3652
36532007-01-20 19:24  gb
3654
3655        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3656
36572007-01-20 19:24  gb
3658
3659        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3660        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3661        OS.
3662
36632007-01-20 19:23  gb
3664
3665        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3666        probably several more.
3667
36682007-01-20 19:22  gb
3669
3670        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3671
36722007-01-20 19:21  gb
3673
3674        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3675        extended to handle coercions at the Cocoa level, and probably needs
3676        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3677        installed by #_).
3678
36792007-01-20 19:18  gb
3680
3681        * lib/db-io.lisp: Encode, decode union types in arglists.
3682
36832007-01-20 19:17  gb
3684
3685        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3686        os::expand-ff-call.
3687       
3688        Canonicalize the :void type a bit better.
3689
36902007-01-20 19:16  gb
3691
3692        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3693
36942007-01-18 23:15  gb
3695
3696        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3697
36982007-01-18 23:15  gb
3699
3700        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3701
37022007-01-18 23:15  gb
3703
3704        * lib/systems.lisp: Add the new ffi-backend sources.
3705
37062007-01-18 23:14  gb
3707
3708        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3709        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3710        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3711        files.
3712
37132007-01-18 04:35  gb
3714
3715        * level-1/version.lisp: Bump.
3716
37172007-01-18 04:17  gb
3718
3719        * examples/bridge.lisp: Some word-size conditionalization.  Will
3720        need more work to handle struct return/asssignment correctly on all
3721        platforms.
3722
37232007-01-18 04:15  gb
3724
3725        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3726        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3727
37282007-01-18 04:13  gb
3729
3730        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3731        type casts, etc.
3732
37332007-01-18 04:12  gb
3734
3735        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3736        deprecated NSFont stuff.
3737
37382007-01-18 04:11  gb
3739
3740        * examples/objc-clos.lisp: Handle ivars, class
3741        creation/initialization differently for ObjC 2.0.
3742
37432007-01-18 04:10  gb
3744
3745        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3746
37472007-01-18 04:09  gb
3748
3749        * examples/objc-support.lisp: Note which protocols are actually
3750        used when walking classes.  (There doesn't seem to be a good way of
3751        finding a Protocol object pre-objc-2.0, and we may need to test
3752        protocol compliance to disambiguate message sends in some cases.)
3753
37542007-01-18 04:07  gb
3755
3756        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3757        necessarily darwinppc).
3758
37592007-01-18 04:06  gb
3760
3761        * examples/addressbook.lisp: Conditionalize for darwin (not
3762        necessarily darwinppc).  May want to conditionalize for bundle
3763        executable name, as well.
3764
37652007-01-18 04:05  gb
3766
3767        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3768        to sketch out structure return code (structures are often
3769        "returned" by returning field values in registers pn DarwinPPC64.)
3770
37712007-01-18 04:04  gb
3772
3773        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3774        attributes for structure args/results.
3775
37762007-01-18 04:03  gb
3777
3778        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3779         (Will need this for other platforms, too.)
3780
37812007-01-18 04:01  gb
3782
3783        * lib/macros.lisp: Arch-specific macro interface for
3784        WITH-FFCALL-RESULTS.
3785
37862007-01-18 04:00  gb
3787
3788        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3789        return value.
3790
37912007-01-18 04:00  gb
3792
3793        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3794        .SPpoweropen_ffcall_return_registers.
3795
37962007-01-18 03:59  gb
3797
3798        * library/parse-ffi.lisp: At least optionally, make structure
3799        return explicit (expecting it to be handled by higher-level code.)
3800
38012007-01-18 03:58  gb
3802
3803        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3804        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3805
38062007-01-18 03:55  gb
3807
3808        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3809        may hold OS thread context.
3810
38112007-01-18 03:54  gb
3812
3813        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3814        in ftd.
3815
38162007-01-18 03:53  gb
3817
3818        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3819        macro.
3820
38212007-01-18 03:52  gb
3822
3823        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3824        all possible result regs.  (Maybe poweropen syscall, too.)
3825
38262007-01-18 03:51  gb
3827
3828        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3829        .SPpoweropen-ff-call-return-registers.
3830
38312007-01-18 03:50  gb
3832
3833        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3834        supported, backend will return all (potential) result registers in
3835        buffer at <exp>.
3836
38372007-01-16 02:01  gb
3838
3839        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3840        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3841        functions make less sense for character streams/strings than they
3842        used to.)
3843
38442007-01-16 01:39  gb
3845
3846        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3847        defaults to :BIVALENT
3848
38492007-01-16 01:37  gb
3850
3851        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3852
38532007-01-11 23:58  gb
3854
3855        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3856        into (* (/ constant1 constant2) exp).  Not very general, but makes
3857        some foreign address arithmetic better.
3858
38592007-01-11 23:56  gb
3860
3861        * lib/macros.lisp: Simple PAREF: (paref pointer
3862        foreign-pointer-or-array-type index) does simple arithmetic for
3863        you.
3864
38652007-01-11 23:54  gb
3866
3867        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3868
38692007-01-10 15:50  gb
3870
3871        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3872        double->heap vinsn.
3873
38742007-01-09 11:33  gb
3875
3876        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3877        cleanup and multiple values are being thrown, be sure to set
3878        tcr.xframe from the target catch frame.  This is necessary on
3879        general principles (GC safety), and especially necessary if the
3880        cleanup form does a non-local exit.
3881
38822007-01-08 22:12  gb
3883
3884        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3885        Revive some of the old GNUstep support; add partial ObjC 2.0
3886        support (for 64-bit targets only, so far.)
3887
38882007-01-08 22:11  gb
3889
3890        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3891        darwinppc-target.
3892
38932007-01-08 22:10  gb
3894
3895        * examples/cocoa-listener.lisp: Disable background layout in the
3896        listener; the whole two-thread scheme probably isn't viable, but
3897        doing this seems to suppress a timing-related symptom.
3898
38992007-01-08 22:09  gb
3900
3901        * examples/cocoa-editor.lisp: Document-begin-editing,
3902        document-end-editing: both seem to have been conditionalized
3903        backwards.
3904
39052007-01-05 16:22  gb
3906
3907        * level-0/l0-numbers.lisp: Fix another typo ...
3908
39092007-01-05 16:16  gb
3910
3911        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3912
39132007-01-05 15:27  gb
3914
3915        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3916        PPC32.
3917
39182007-01-05 06:20  gb
3919
3920        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3921        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3922        result (with the right arg) does obtain a link map.
3923       
3924        Revive shared libraries on FreeBSD, but don't do the strange
3925        Linux-specific re-opening there.  (It seems like it's possible to
3926        #_dlopen something that already has a loaded link map - like the
3927        FreeBSD dynamic linker - or something.)
3928
39292007-01-04 05:46  gb
3930
3931        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3932        :WILD-INFERIORS.
3933
39342007-01-04 05:45  gb
3935
3936        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
3937        (which may use %gs instead of %fs for tls).
3938
39392007-01-04 05:44  gb
3940
3941        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
3942
39432007-01-04 05:44  gb
3944
3945        * level-0/l0-numbers.lisp:
3946        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
3947        accurately represented in float, do so.
3948
39492007-01-03 03:35  gb
3950
3951        * lib/sequences.lisp: Fix a few type errors, check for explicit
3952        vector-type length earlier.
3953
39542007-01-03 03:31  gb
3955
3956        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
3957        preserved :WILD, don't map it to "*".
3958
39592007-01-03 03:30  gb
3960
3961        * lib/pathnames.lisp: More whack-a-mole with pathnames
3962        (specifically, preserving :WILD as name/type value and dealing with
3963        the consequences of doing so.)
3964
39652007-01-03 03:27  gb
3966
3967        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
3968
39692007-01-02 09:57  gb
3970
3971        * lib/macros.lisp: Keep fixing CTYPECASE.
3972
39732007-01-02 09:57  gb
3974
3975        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
3976        BASIC-CHARACTER-INPUT-STREAM returns both values.
3977       
3978        "Composite" (two-way, concatenated, etc) streams need a close
3979        protocol.
3980
39812007-01-02 07:00  gb
3982
3983        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
3984        (new) version slot, as does practically everything else.
3985
39862007-01-02 06:59  gb
3987
3988        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
3989        accurately coerced to floats when comparing fixnums and floats; do
3990        the logical equvalent of calling RATIONAL on the float instead.
3991
39922007-01-01 23:41  gb
3993
3994        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
3995        version into returned namestring for physical pathnames.
3996
39972006-12-31 10:15  gb
3998
3999        * release-notes.txt: Update.
4000
40012006-12-31 09:13  gb
4002
4003        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4004        version.
4005
40062006-12-31 08:57  gb
4007
4008        * xdump/faslenv.lisp: Bump fasl-min-vers.
4009
40102006-12-31 08:49  gb
4011
4012        * lib/nfcomp.lisp: Bump current fasl version.
4013
40142006-12-31 08:33  gb
4015
4016        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4017        Tweak the executable start address.
4018
40192006-12-31 02:44  gb
4020
4021        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4022        ensure that there's nothing interesting in the first few pages of
4023        the address space (and ensure that those pages are mapped.)
4024
40252006-12-31 02:43  gb
4026
4027        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4028        on x86-64 (ld64 does some floating-point arithmetic, fails to
4029        account for roundoff error, and claims that 0x1000 isn't a power of
4030        2.) If you can't say anything good about a linker, it's best not to
4031        say anything at all.
4032       
4033        We can force the first segment to be mapped at 0x1000, and can
4034        waste a few pages to ensure that all low-memory pages that the lisp
4035        wants are mapped.
4036
40372006-12-31 02:33  gb
4038
4039        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4040        defensive.
4041
40422006-12-31 02:32  gb
4043
4044        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4045
40462006-12-31 02:29  gb
4047
4048        * xdump/faslenv.lisp: Bump $fasl-vers.
4049
40502006-12-31 02:28  gb
4051
4052        * level-1/version.lisp: Bump; remove "Beta" designation.
4053
40542006-12-29 20:13  gb
4055
4056        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4057        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4058        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4059        up a page on x86-64 as well.
4060
40612006-12-29 16:09  gb
4062
4063        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4064        .orged.
4065
40662006-12-29 15:32  gb
4067
4068        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4069        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4070        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4071        (including NIL) now one page higher on ppc32, as well.
4072
40732006-12-29 02:38  gb
4074
4075        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4076
40772006-12-29 01:38  gb
4078
4079        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4080        ppc64::reservation-discharge) up a page.
4081
40822006-12-29 01:37  gb
4083
4084        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4085        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4086
40872006-12-29 01:36  gb
4088
4089        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4090        backend.  ppc64 wants it one page higher than it has been, to avoid
4091        letting unmapped pages get claimed by the dynamic linker on Darwin.
4092
40932006-12-29 01:35  gb
4094
4095        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4096        that the image starts at #x1000 and aligned section data for the
4097        text section starts on the next page.
4098
40992006-12-29 01:33  gb
4100
4101        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4102        the aligned text section data starts.
4103
41042006-12-29 01:32  gb
4105
4106        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4107        etc a page higher.
4108
41092006-12-29 01:32  gb
4110
4111        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4112        already where it should be.
4113
41142006-12-29 01:32  gb
4115
4116        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4117        page higher.
4118
41192006-12-29 01:30  gb
4120
4121        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4122
41232006-12-22 01:40  gb
4124
4125        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4126
41272006-12-22 01:39  gb
4128
4129        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4130        PPC32/Darwin.
4131       
4132        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4133        test and use dlfcn functions if at least Tiger.
4134       
4135        (The old dyld functions are deprecated under Leopard, and there's
4136        reason to believe that they don't work correctly on at least ppc64/
4137        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4138        a 64-bit .dylib seems to lead to memory corruption rather than
4139        returning NSObjectFileImageInappropriateFile.
4140       
4141        The old functions work better than the dlfcn functions on pre-Tiger
4142        systems.)
4143
41442006-12-19 01:24  gb
4145
4146        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4147        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4148        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4149        producing a pathane with a non-null VERSION component, as it
4150        arguably should have been all along.
4151
41522006-12-18 13:22  gb
4153
4154        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4155        types into concrete vector types.
4156
41572006-12-18 13:04  gb
4158
4159        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4160        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4161        failing to do this leads to many test failures.)
4162
41632006-12-18 13:03  gb
4164
4165        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4166
41672006-12-18 12:57  gb
4168
4169        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4170        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4171        failing to do this leads to many test failures.)
4172
41732006-12-18 12:54  gb
4174
4175        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4176
41772006-12-16 05:28  gb
4178
4179        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4180        instructions have a minor opcode in frb and only have one source
4181        operand.
4182
41832006-12-16 05:27  gb
4184
4185        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4186        SQRT, note that there's only one operand and that it's in frb.
4187
41882006-12-16 05:25  gb
4189
4190        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4191        instructions, notably fsqrt/fqrts, which are optional and not
4192        implemented on some PPC machines.
4193
41942006-12-16 05:24  gb
4195
4196        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4197
41982006-12-14 19:47  gb
4199
4200        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4201
42022006-12-14 16:43  gb
4203
4204        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4205        double-float arithmetic vinsns should say :double-float, not
4206        :single-float.  (I suspect cut-and-paste, frankly.)
4207
42082006-12-14 16:25  gb
4209
4210        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4211        initial-thread.
4212
42132006-12-14 16:24  gb
4214
4215        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4216        error.
4217
42182006-12-14 16:14  gb
4219
4220        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4221        physical pathnames. (Yes, this is kind of silly.)
4222
42232006-12-14 16:01  gb
4224
4225        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4226        signal errors for (e.g.) failed memory allocation.
4227
42282006-12-14 16:00  gb
4229
4230        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4231        fails, signal a lisp error (what a concept.)
4232
42332006-12-14 15:51  gb
4234
4235        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4236       
4237        Might be worth revisiting this.
4238
42392006-12-14 15:50  gb
4240
4241        * lisp-kernel/x86-exceptions.c: Go back to using the
4242        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4243        from a fake context may not be reliable.
4244       
4245        When handling an interrupt with a partially created temp stack
4246        frame, do the right thing.  (That basically means reset the frame
4247        before calling out and recreating it if we return from the
4248        callout.)
4249       
4250        Handle SIGQUIT on the altstack, to provide a way of forcibly
4251        terminating threads that's a bit more GC-safe than doing it via
4252        #_pthread_cancel.
4253       
4254        Note the tcr of the gc thread on gc entry; if an exception happens
4255        in that thread, print a message and sleep for 60 seconds.
4256       
4257        Note that there's still a race condition here: if thread A gets an
4258        exception and thread B gets the mach_exception_lock (to GC) before
4259        the exception thread can handle the message, we deadlock (thread A
4260        would be suspended in the kernel and can't respond to a suspend
4261        signal.)  We can tell that this has happened and make a good guess
4262        as to why it happened, but dealing with it will require some
4263        thought.  (If we've already issued a suspend signal and eventually
4264        raise the suspended thread's resume semaphore, it'll suspend and
4265        resume once the mach exception thread makes it runnable.  Who
4266        cleans up its exception context in that case ?  Does it matter ?)
4267
42682006-12-14 15:19  gb
4269
4270        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4271        have all signals unmasked.
4272       
4273        If a tcr is dead, ensure that its stack areas are empty.
4274       
4275        Try to run shutdown_thread_tcr as a pthread cleanup action,
4276        hopefully before Mach clobbers the thread's signal mask.
4277
42782006-12-14 15:16  gb
4279
4280        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4281        TCR_AREA_LOCK.
4282
42832006-12-14 15:15  gb
4284
4285        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4286        hasn't existed in years.
4287
42882006-12-14 15:14  gb
4289
4290        * level-1/version.lisp: Bump.
4291
42922006-12-14 15:14  gb
4293
4294        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4295        termination semaphore.
4296
42972006-12-14 15:13  gb
4298
4299        * level-1/l1-processes.lisp: PROCESS objects are created with a
4300        termination semaphore.
4301
43022006-12-14 15:12  gb
4303
4304        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4305        TERMINATION-SEMAPHORE.
4306       
4307        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4308        target thread to transition from running lisp code to running
4309        foreign code without advertising that fact. Send a SIGQUIT instead,
4310        and trust the SIGQUIT handler to manage that transition.  Don't try
4311        to kill the initial thread.
4312
43132006-12-09 09:52  gb
4314
4315        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4316        their CLEAR-OUTPUT methods.
4317       
4318        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4319        their displaced-index-offsets.)
4320
43212006-12-09 09:49  gb
4322
4323        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4324        threads on x86-64.  (The PPC never got around to enabling them.)
4325
43262006-12-09 09:47  gb
4327
4328        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4329        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4330        the result of its evaluation.
4331       
4332        Some fixes in CTYPECASE handling, which hopefully didn't break
4333        anything else.
4334
43352006-12-09 09:36  gb
4336
4337        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4338        1d) index register is set - even if the index is a constant - if we
4339        think that the store needs EGC memoization.
4340       
4341        (Note that the test case that exposed this involved storing
4342        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4343        64-bit platforms.)
4344       
4345        In aref2, don't worry about reserving unscaled index registers when
4346        targeting the 1d index; the unscaled index registers aren't live
4347        after, could be NULL if the index is a constant, and any overlap
4348        between one of them and the 1d index should be handled in the
4349        vinsn(s).
4350
43512006-12-09 09:30  gb
4352
4353        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4354        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4355        class-translations.
4356
43572006-12-09 09:27  gb
4358
4359        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4360        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4361        don't segfault taking its CAR without checking.)
4362
43632006-12-06 18:48  gb
4364
4365        * level-0/X86/x86-float.lisp: x86-64 version of
4366        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4367        in %imm1 (which is undefined here ...)
4368
43692006-12-06 17:05  gb
4370
4371        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4372        right symbol for the named block.
4373       
4374        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4375        (SETF NAME).
4376
43772006-12-05 22:44  gb
4378
4379        * release-notes.txt: Update for 061205.
4380
43812006-12-05 20:31  gb
4382
4383        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4384        from putting a linkedit segment in the wrong place and making
4385        32-bit memory unmappable.
4386
43872006-12-05 20:30  gb
4388
4389        * level-1/version.lisp: Bump.
4390
43912006-12-05 20:29  gb
4392
4393        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4394
43952006-12-05 18:53  gb
4396
4397        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4398        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4399        doc string for *ALTERNATE-LINE-TERMINATOR*.
4400
44012006-12-04 15:13  gb
4402
4403        * level-1/version.lisp: Append a patchlevel to the version string,
4404        at least until new tarballs can be built.
4405
44062006-12-04 15:12  gb
4407
4408        * level-1/l1-streams.lisp: If stream element type upgrades to
4409        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4410        element-type.)
4411
44122006-12-04 13:02  gb
4413
4414        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4415        called): don't bother to shift by 0 bits.  Do shift the initial U
4416        if non-zero trailing 0 BITS (was testing for non-zero trailing
4417        DIGITS.)
4418
44192006-12-04 12:52  gb
4420
4421        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4422        element-types; do some upgrading to support some more element types
4423        (BIT -> (UNSIGNED-BYTE 8)).
4424       
4425        Maybe support arbitrarily large integer types someday soon.  Maybe
4426        not.
4427
44282006-12-04 12:48  gb
4429
4430        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4431        types (compiler stuff, mostly).
4432
44332006-12-04 12:46  gb
4434
4435        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4436        shift count of 32 (and returns 0 in that case.)
4437
44382006-12-04 12:46  gb
4439
4440        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4441        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4442        in case.)
4443
44442006-12-04 12:43  gb
4445
4446        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4447        GCD-2 ...
4448
44492006-12-04 09:26  gb
4450
4451        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4452        for STRING-INPUT-STREAMs.
4453
44542006-12-04 09:24  gb
4455
4456        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4457        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4458        shift by 0 bits.
4459
44602006-12-04 09:21  gb
4461
4462        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4463        doing %SLOT-UNBOUND-TRAP.
4464
44652006-12-04 09:21  gb
4466
4467        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4468        STREAMs, returns NIL.  STREAM-POSITION method for
4469        STRING-INPUT-STREAMs.
4470
44712006-12-04 09:19  gb
4472
4473        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4474        containing heap image.
4475
44762006-12-03 07:41  gb
4477
4478        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4479        STRING-OUTPUT-STREAMs are no-ops.
4480       
4481        Need an ioblock-based character-read-vector function for
4482        string-input-streams.
4483
44842006-12-03 07:37  gb
4485
4486        * lib/describe.lisp: Minimal DESCRIBE support for
4487        CCL::BASIC-STREAM.
4488
44892006-12-03 07:36  gb
4490
4491        * lib/macros.lisp: If :element-type is supplied in
4492        WITH-OUTPUT-TO-STRING, don't quote it.
4493
44942006-12-03 05:11  gb
4495
4496        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4497        isn't necessarily 16.
4498
44992006-12-03 05:10  gb
4500
4501        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4502        isn't necessarily 16.
4503       
4504        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4505        %slot-unbound-trap.
4506
45072006-12-03 05:09  gb
4508
4509        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4510        avoid some NO-NEXT-METHODs.
4511
45122006-12-03 02:42  gb
4513
4514        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4515        bit better.
4516
45172006-12-03 02:41  gb
4518
4519        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4520        bit.
4521
45222006-12-03 02:28  gb
4523
4524        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4525        clearing the low byte of the header, shifting it right, and
4526        comparing the index to that.  (It's not reliable to shift the index
4527        left.)
4528
45292006-12-03 02:26  gb
4530
4531        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4532        write BOM, leave that up to higher-level code.
4533       
4534        Start to write some higher-level code.
4535
45362006-12-03 02:23  gb
4537
4538        * level-1/l1-sysio.lisp: Fix some indentation.
4539
45402006-12-03 02:21  gb
4541
4542        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4543        the header word right (after clearing its low byte) and compare the
4544        index to that.  (Shifting the index left - d'oh - obviously fails
4545        for indices of large magnitude.)
4546
45472006-11-29 21:07  gb
4548
4549        * lib/db-io.lisp: Indentation change.
4550       
4551        Add CDB-ENUMERATE-KEYS.
4552
45532006-11-29 18:37  gb
4554
4555        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4556        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4557        LISTP first.  (I hope ...).  Do so.
4558
45592006-11-28 18:42  gb
4560
4561        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4562
45632006-11-28 16:14  gb
4564
4565        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4566
45672006-11-28 16:12  gb
4568
4569        * examples/objc-runtime.lisp: Wrap a (primitive)
4570        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4571        NSThread.
4572
45732006-11-28 16:09  gb
4574
4575        * examples/cocoa-listener.lisp: Don't claim that a callback
4576        parameter is ignored; use IGNORABLE instead.
4577
45782006-11-21 01:28  gb
4579
4580        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4581        conditionalization.
4582
45832006-11-21 00:55  gb
4584
4585        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4586        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4587       
4588        Basic file-socket streams.
4589
45902006-11-10 05:08  gb
4591
4592        * release-notes.txt: Update.
4593
45942006-11-10 04:28  gb
4595
4596        * lisp-kernel/image.h: Bump min image version.
4597
45982006-11-10 04:19  gb
4599
4600        * xdump/heap-image.lisp: bump current image version.
4601
46022006-11-10 04:19  gb
4603
4604        * lisp-kernel/image.h: bump current, max image version.
4605
46062006-11-10 04:10  gb
4607
4608        * xdump/faslenv.lisp: Bump min fasl version.
4609
46102006-11-10 03:56  gb
4611
4612        * lib/nfcomp.lisp: bump current fasl version.
4613
46142006-11-10 03:47  gb
4615
4616        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4617        #_exit
4618
46192006-11-10 03:46  gb
4620
4621        * compiler/X86/x862.lisp: TYPE typo.
4622
46232006-11-10 03:32  gb
4624
4625        * xdump/faslenv.lisp: Bump max fasl version.
4626
46272006-11-10 03:25  gb
4628
4629        * level-1/version.lisp: Bump.  New snapshots today!
4630
46312006-11-09 16:26  gb
4632
4633        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4634       
4635        PREPARE-TO-QUIT kill stragglers without waiting as long.
4636
46372006-11-09 15:50  gb
4638
4639        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4640       
4641        Try to run lisp code after #_exit via lazarus(); this is for some
4642        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4643       
4644        The environment in which The Undead code runs is a little funky,
4645        especially on PPC.  There might be GC implications (cstack will
4646        contain call history as of the point when #_exit called atexit
4647        handlers, vstack & tstack are emptied in lazarus()).  We should
4648        barely run any code in this environment, but we will GC a time or
4649        two ...
4650
46512006-11-09 15:45  gb
4652
4653        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4654
46552006-11-09 15:43  gb
4656
4657        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4658        protocol.
4659
46602006-11-09 15:42  gb
4661
4662        * examples/cocoa-listener.lisp: :set-document-edited for listener
4663        "documents" is a no-op.
4664
46652006-11-09 15:39  gb
4666
4667        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4668        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4669
46702006-11-09 12:50  gb
4671
4672        * compiler/X86/x862.lisp: Always check that array-ctype's
4673        dimensions are a list before taking their length.
4674
46752006-11-09 12:13  gb
4676
4677        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4678        right thing ...
4679
46802006-11-09 10:08  gb
4681
4682        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4683        Three-arg aref/(setf aref) for x8664.
4684
46852006-11-09 05:37  gb
4686
4687        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4688        errors.
4689
46902006-11-09 05:37  gb
4691
4692        * compiler/nxenv.lisp: Operators for 3d array access.
4693
46942006-11-09 05:36  gb
4695
4696        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4697        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4698        array types.
4699
47002006-11-08 12:50  gb
4701
4702        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4703        Leopard nonsense: define the stack context struct separately, make
4704        the ucontext stack field an instance of it.  (Not -sure- if that
4705        was necessary, but :poweropen-target was accidentally on *FEATURES*
4706        and foreign struct layout was using read-time condtionalization to
4707        decide whether or not to use brain-dead structure-alignment rules
4708        leftover from AIX/PowerOpen.
4709
47102006-11-08 12:46  gb
4711
4712        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4713
47142006-11-08 12:40  gb
4715
4716        * compiler/optimizers.lisp: Try to infer/insert the array type when
4717        compiler-macroexpanding MAKE-ARRAY calls.
4718
47192006-11-08 12:39  gb
4720
4721        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4722        :poweropen-alignment rules.
4723
47242006-11-08 12:38  gb
4725
4726        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4727        to poweropen structure layout rules should be an attribute of the
4728        FTD, not done via read-time conditionalization.
4729
47302006-11-08 05:15  gb
4731
4732        * level-1/version.lisp: Bump.
4733
47342006-11-08 05:15  gb
4735
4736        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4737       
4738        TODO: get rid of "bivalent" streams, but allow switching some
4739        streams (sockets) between "character mode" and "binary mode".
4740
47412006-11-08 02:39  gb
4742
4743        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4744
47452006-11-07 21:10  gb
4746
4747        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4748        ASET->%ASET3.
4749
47502006-11-07 20:40  gb
4751
4752        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4753
47542006-11-07 20:39  gb
4755
4756        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4757
47582006-11-07 20:38  gb
4759
4760        * level-0/l0-array.lisp: Use %aref2,%aref3.
4761
47622006-11-07 20:37  gb
4763
4764        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4765        vector-store vinsns.
4766
47672006-11-07 20:37  gb
4768
4769        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4770
47712006-11-07 10:28  gb
4772
4773        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4774        .SPaset3.
4775
47762006-11-07 10:27  gb
4777
4778        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4779
47802006-11-07 10:26  gb
4781
4782        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4783        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4784
47852006-11-07 10:26  gb
4786
4787        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4788        mullw/mulld.
4789
47902006-11-07 04:12  gb
4791
4792        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4793
47942006-11-06 22:07  gb
4795
4796        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4797        :fixnum-vector case.
4798
47992006-11-06 22:04  gb
4800
4801        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4802        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4803        known/declared.
4804
48052006-11-06 22:02  gb
4806
4807        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4808        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4809        versions, but it helps not to have to remember which are
4810        implemented and which aren't.)
4811
48122006-11-06 22:01  gb
4813
4814        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4815
48162006-11-06 22:00  gb
4817
4818        * compiler/nx1.lisp: New %ASET2 handling.
4819
48202006-11-06 21:59  gb
4821
4822        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4823        never assigned to.
4824
48252006-11-05 22:09  gb
4826
4827        * level-1/x86-trap-support.lisp: Try to work around
4828        incompatibilites in Tiger/Leopard headers.
4829
48302006-11-05 22:08  gb
4831
4832        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4833        the foreign function may not exist.
4834
48352006-11-05 20:41  gb
4836
4837        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4838
48392006-11-05 07:55  gb
4840
4841        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4842        x86-64, as well.
4843
48442006-11-05 07:52  gb
4845
4846        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4847
48482006-11-05 07:50  gb
4849
4850        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4851        .SPaset2.
4852
48532006-11-05 07:48  gb
4854
4855        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4856        testing simple-array-ness, add the (possibly 0) displacement from
4857        the header before handling the simple aref of the data vector.
4858
48592006-11-05 07:47  gb
4860
4861        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4862        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4863
48642006-11-05 07:46  gb
4865
4866        * level-1/version.lisp: Bump; new binaries soon.
4867
48682006-11-05 07:46  gb
4869
4870        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4871        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4872        4G seconds after an EINTR on Leopard.
4873
48742006-11-05 07:44  gb
4875
4876        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4877        if any non-fixnum bits would be set in the result.  (Should
4878        probably make this true on all platforms; for PPC64, it's important
4879        for foreign function addresses that're ... suboptimally aligned.)
4880
48812006-11-05 07:42  gb
4882
4883        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4884        %NANOSLEEP's second (by reference) argument contains garbage after
4885        an EINTR.  (The L word, again.)
4886
48872006-11-05 07:41  gb
4888
4889        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4890        into the kernel.
4891
48922006-11-05 07:40  gb
4893
4894        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4895        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4896        MACPTR->FIXNUM return NIL if an address isn't representable as a
4897        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4898        can't return a fixnum on PPC (really just affects PPC64.)
4899
49002006-11-05 07:37  gb
4901
4902        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4903
49042006-11-05 07:36  gb
4905
4906        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4907        2d aref support/changes.
4908
49092006-11-05 07:36  gb
4910
4911        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4912        x8664 wrt 2d aref.  Stll a ways to go.
4913
49142006-11-05 07:35  gb
4915
4916        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4917
49182006-11-04 00:05  gb
4919
4920        * level-1/version.lisp: Bump.
4921
49222006-11-03 23:10  gb
4923
4924        * level-1/ppc-error-signal.lisp: fix parens.
4925
49262006-11-03 23:09  gb
4927
4928        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4929        gvector types contains :struct, not :structure.
4930
49312006-11-03 23:08  gb
4932
4933        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4934        subprim.
4935       
4936        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
4937        in the builtin functions table.
4938
49392006-11-03 15:19  gb
4940
4941        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
4942
49432006-11-03 15:18  gb
4944
4945        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
4946
49472006-11-03 15:17  gb
4948
4949        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
4950        type-error UUOs.
4951
49522006-11-03 15:16  gb
4953
4954        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
4955
49562006-11-03 15:16  gb
4957
4958        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
4959        (array-header) layout.
4960
49612006-11-03 13:46  gb
4962
4963        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
4964        returns its argument if all members are SPECIALIZERS.
4965       
4966        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
4967        arguments, for the benefit of people who haven't read the MOP spec
4968        or who don't realize that the MOP defines some things differently
4969        from CLHS.
4970
49712006-11-03 13:38  gb
4972
4973        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
4974        to refer to primitive structure type.
4975       
4976        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
4977
49782006-11-03 13:37  gb
4979
4980        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
4981        :STRUCTURE) is on target-gvector-types.
4982
49832006-11-03 12:53  gb
4984
4985        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
4986
49872006-11-03 12:52  gb
4988
4989        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
4990         More to come ...
4991
49922006-11-03 12:52  gb
4993
4994        * lisp-kernel/x86-constants64.s: Define array-header layout.
4995
49962006-11-03 12:51  gb
4997
4998        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
4999        encodings, new type-error constants.
5000
50012006-11-03 12:50  gb
5002
5003        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5004        traps.
5005
50062006-11-03 12:49  gb
5007
5008        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5009        constant-redefinition CERRORs.
5010
50112006-11-03 12:48  gb
5012
5013        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5014
50152006-11-03 12:47  gb
5016
5017        * level-0/l0-pred.lisp: array--header -> array-header.
5018
50192006-11-03 12:47  gb
5020
5021        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5022        add/change some 2d array stuff.
5023
50242006-11-03 12:43  gb
5025
5026        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5027        subprims; seem to be much (>5x) faster than the lisp/lap versions
5028        (though we can generally be faster still when we know the
5029        element-type and/or know whether the array is simple or explicitly
5030        displaced.)
5031
50322006-11-03 12:41  gb
5033
5034        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5035        related changes.
5036       
5037        Split the code which handles bounds/type-checking in vref out from
5038        the code which actually does the reference, so that the latter can
5039        be used in multidimensional cases.
5040       
5041        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5042        general case.)
5043
50442006-11-03 12:38  gb
5045
5046        * compiler/nx1.lisp: Change handling of 2d-aref.
5047
50482006-11-03 12:37  gb
5049
5050        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5051        general-aref2.  More changes to come (and this may affect
5052        compilation on PPC until some PPC compiler changes are
5053        made/checked-in.)
5054
50552006-11-03 12:35  gb
5056
5057        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5058        the range 128-255, rather than 64-127; more are defined.
5059
50602006-11-02 09:43  gb
5061
5062        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5063
50642006-11-02 09:37  gb
5065
5066        * compiler/arch.lisp: New error constants; work in progress ...
5067
50682006-11-01 11:40  gb
5069
5070        * lisp-kernel/errors.s: Some new constants; more to check in later.
5071
50722006-10-31 03:39  gb
5073
5074        * level-0/l0-io.lisp: You must be reading the OLD rule book
5075        (Leopard and #$EINTR).
5076
50772006-10-31 03:21  gb
5078
5079        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5080        the tcr.  Initialize "addr" before testing it ...
5081
50822006-10-31 03:21  gb
5083
5084        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5085        the tcr.
5086
50872006-10-30 20:40  gb
5088
5089        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5090        expands into something more useful.
5091
50922006-10-30 20:39  gb
5093
5094        * lisp-kernel/ppc-spentry.s: Fix ppc32
5095        misc_ref_double_float_vector.
5096
50972006-10-30 00:24  gb
5098
5099        * level-0/l0-bignum64.lisp: Enable the destructive version of
5100        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5101        provide/fix supporting functions.  Seems to work on ppc64; needs
5102        testing on x8664.
5103
51042006-10-27 17:49  gb
5105
5106        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5107
51082006-10-25 20:36  gb
5109
5110        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5111        variants): always clear the untyi-char.
5112       
5113        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5114        needs an argument.
5115       
5116        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5117        bivalent streams.
5118       
5119        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5120
51212006-10-24 12:35  gb
5122
5123        * level-1/version.lisp: Bump.
5124
51252006-10-24 01:29  gb
5126
5127        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5128        _SPdestbind1 (still used in inlining, sometimes.)
5129
51302006-10-24 01:05  gb
5131
5132        * release-notes.txt: Change the date, add/change some content.
5133
51342006-10-24 01:05  gb
5135
5136        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5137        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5138
51392006-10-24 00:56  gb
5140
5141        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5142        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5143
51442006-10-24 00:55  gb
5145
5146        * level-1/l1-streams.lisp: When recycling
5147        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5148        (Failure to do this can screw up the pretty-printer, among other
5149        things.)
5150
51512006-10-24 00:52  gb
5152
5153        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5154        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5155
51562006-10-23 17:03  gb
5157
5158        * release-notes.txt: Updated; almost ready to go (still a
5159        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5160
51612006-10-23 16:43  gb
5162
5163        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5164        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5165
51662006-10-23 16:42  gb
5167
5168        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5169        STREAM-EXTERNAL-FORMAT) methods.
5170
51712006-10-23 16:41  gb
5172
5173        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5174        stuff.
5175
51762006-10-23 08:27  gb
5177
5178        * level-1/version.lisp: Bump; binaries today, honest.
5179
51802006-10-23 08:27  gb
5181
5182        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5183
51842006-10-23 08:26  gb
5185
5186        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5187        macros were checking for the presence of an input lock ...
5188
51892006-10-23 05:40  gb
5190
5191        * level-1/l1-streams.lisp: Optimize write-string on string streams
5192        a little.
5193
51942006-10-23 05:26  gb
5195
5196        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5197        which evaluates the string form twice; don't do whatever was being
5198        done to default the element type of the string stream.
5199
52002006-10-23 05:24  gb
5201
5202        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5203        keyword/subtype checking if element-type not provided.  (Could also
5204        skip it if it's explicit and obviously OK.)
5205
52062006-10-23 05:22  gb
5207
5208        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5209        "current" allocation if nothing's reserved.
5210
52112006-10-23 05:19  gb
5212
5213        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5214        update_bytes_allocated (sign of "disp").
5215
52162006-10-22 08:02  gb
5217
5218        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5219        form like a PROGN if there are no other forms.
5220
52212006-10-22 08:01  gb
5222
5223        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5224        ioblock functions.
5225       
5226        New string-stream implementation.  Better ...
5227
52282006-10-22 07:59  gb
5229
5230        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5231        before the stream closes.
5232
52332006-10-22 07:59  gb
5234
5235        * lib/pprint.lisp: Don't assume that string output stream strings
5236        have a fill-pointer; use STREAM-POSITION instead.
5237
52382006-10-22 07:57  gb
5239
5240        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5241        functions, after all.
5242       
5243        Go through (new) ioblock-unread-char-function.
5244
52452006-10-22 07:55  gb
5246
5247        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5248        x/s
5249
52502006-10-21 18:46  gb
5251
5252        * level-1/l1-streams.lisp: Typo.
5253
52542006-10-21 18:41  gb
5255
5256        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5257        fields in pseudo sigcontexts.
5258
52592006-10-21 18:40  gb
5260
5261        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5262        twice, etc.)
5263
52642006-10-21 18:35  gb
5265
5266        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5267        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5268        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5269        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5270        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5271
52722006-10-21 16:45  gb
5273
5274        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5275        encodings!
5276
52772006-10-19 13:48  gb
5278
5279        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5280        arg_z - in %safe-get-ptr.
5281
52822006-10-19 13:22  gb
5283
5284        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5285        optional, use #\Sub char-code as replaement char.
5286
52872006-10-19 13:21  gb
5288
5289        * examples/objc-runtime.lisp: Missing close paren.
5290
52912006-10-19 13:19  gb
5292
5293        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5294        strings to/from foreign memory.
5295
52962006-10-19 13:18  gb
5297
5298        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5299
53002006-10-18 08:04  gb
5301
5302        * level-1/version.lisp: Bump.  Binaries later today ?
5303
53042006-10-18 07:38  gb
5305
5306        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5307        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5308        class becomes (or ceases to be) a properly named class.
5309       
5310        The pre-bootstrapping version handles simpler cases of that; use
5311        ALIAS-CLASS to register some early class names as type names.
5312
53132006-10-18 07:36  gb
5314
5315        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5316        system, since only symbols which name properly-named classes are
5317        type specifiers.  Changing the name of a class can either introduce
5318        or remove a properly-named class.
5319       
5320        Classes that have the kernel-p attribute shouldn't have their names
5321        changed casually.
5322
53232006-10-18 07:33  gb
5324
5325        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5326        MAKE-SOCKET, pass it down to whatever function actually creates a
5327        stream socket.
5328
53292006-10-18 02:12  gb
5330
5331        * compiler/X86/x862.lisp: Allow closed-over addresses in
5332        conditional-form, NOT.
5333
53342006-10-18 01:43  gb
5335
5336        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5337        safe_ref_addres.
5338
53392006-10-18 01:43  gb
5340
5341        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5342
53432006-10-18 01:41  gb
5344
5345        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5346        addresses/vcells to nil.
5347
53482006-10-18 01:41  gb
5349
5350        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5351        addresses to NIL.
5352       
5353        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5354        level inline.
5355
53562006-10-18 01:39  gb
5357
5358        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5359        for a few months now.  The disassembler is always the last to know.
5360
53612006-10-17 19:15  gb
5362
5363        * compiler/PPC/PPC32/ppc32-arch.lisp,
5364        compiler/PPC/PPC64/ppc64-arch.lisp,
5365        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5366        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5367        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5368        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5369        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5370        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5371       
5372        Handle memory faults to safe-ref-addres on PPC (so far).
5373       
5374        Try using SAFE-GET-PTR in objc runtime (untested).
5375
53762006-10-17 17:34  gb
5377
5378        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5379        type in acode.
5380
53812006-10-17 14:02  gb
5382
5383        * level-1/l1-unicode.lisp: BOM-ENCODING.
5384
53852006-10-17 14:02  gb
5386
5387        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5388        something.
5389       
5390        Clear the pending-bom flag when seeking.
5391
53922006-10-17 14:01  gb
5393
5394        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5395        ioblock-based character streams.
5396
53972006-10-17 13:45  gb
5398
5399        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5400        *interrupt-level* inline.
5401
54022006-10-17 13:44  gb
5403
5404        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5405        immmediate operand (xuuo).
5406
54072006-10-17 13:39  gb
5408
5409        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5410        when necessary.
5411
54122006-10-17 13:39  gb
5413
5414        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5415        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5416
54172006-10-15 17:51  gb
5418
5419        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5420       
5421        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5422
54232006-10-15 17:51  gb
5424
5425        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5426
54272006-10-15 17:50  gb
5428
5429        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5430
54312006-10-14 07:41  gb
5432
5433        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5434        ENSURING-NODE-TARGET.
5435       
5436        Inline the fixnum case of two-arg numeric comparisons.
5437
54382006-10-14 07:39  gb
5439
5440        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5441        INLINE-SUB2 support.
5442
54432006-10-14 06:30  gb
5444
5445        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5446        generated DEFSTRUCT accessors.
5447
54482006-10-14 06:27  gb
5449
5450        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5451       
5452        Do the fixnum case of two-argument subtraction inline.
5453       
5454        Inline the fixnum case of two-argument numeric comparisons.
5455       
5456        STRUCT-REF avoids typechecking when reckless.
5457
54582006-10-14 06:21  gb
5459
5460        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5461        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5462
54632006-10-14 06:20  gb
5464
5465        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5466        little differently.
5467       
5468        Add xchg-registers.
5469
54702006-10-13 04:54  gb
5471
5472        * compiler/nx1.lisp: Use new NUMCMP operator.
5473
54742006-10-13 04:53  gb
5475
5476        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5477        in effect at call time, not those in effect at definition time.
5478
54792006-10-13 04:50  gb
5480
5481        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5482        inlining issues.
5483
54842006-10-13 04:30  gb
5485
5486        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5487
54882006-10-12 19:46  gb
5489
5490        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5491        "--" is seen.
5492
54932006-10-12 19:45  gb
5494
5495        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5496        newline translation differenly (at the character I/O level, not the
5497        buffer level).
5498       
5499        All character encoding/decoding functions operate on octets, not
5500        necessarily code units.  (The stream encode/decode functions are an
5501        exception; serialization and byte ordering are handled by the
5502        stream.)
5503
55042006-10-09 16:34  gb
5505
5506        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5507        encode a character in (implicit) iso-8859-1.
5508
55092006-10-09 16:33  gb
5510
5511        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5512        a replacement character.
5513
55142006-10-09 16:31  gb
5515
5516        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5517        write/read something, even if it's a replacement character of some
5518        sort.
5519
55202006-10-09 15:19  gb
5521
5522        * level-1/l1-streams.lisp: More stuff about line termination.  When
5523        will this end ?
5524
55252006-10-09 15:19  gb
5526
5527        * lib/chars.lisp: Use a hashtable to map characters to their names.
5528         (Maybe a sparse vector ?).
5529
55302006-10-09 15:18  gb
5531
5532        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5533        their names.  (Maybe a sparse vector ?).
5534       
5535        Define #\Sub and #\Replacement_Character.
5536
55372006-10-08 21:17  gb
5538
5539        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5540        NEW-BACKTRACE for a while now.
5541
55422006-10-08 21:16  gb
5543
5544        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5545        Panther happy.
5546
55472006-10-08 20:30  gb
5548
5549        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5550
55512006-10-08 20:30  gb
5552
5553        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5554        pathname, before it's too late ...
5555
55562006-10-08 20:29  gb
5557
5558        * level-1/l1-unicode.lisp: ASCII, some other changes.
5559
55602006-10-08 20:29  gb
5561
5562        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5563        :line-termination option to MAKE-FD-STREAM.
5564
55652006-10-08 20:28  gb
5566
5567        * level-1/l1-streams.lisp: Yet another line-termination translation
5568        scheme; hopefully, the last for a while. (More tedium before it's
5569        actually installed.)
5570
55712006-10-08 20:27  gb
5572
5573        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5574        #\Paragraph_separator.
5575
55762006-10-07 20:35  gb
5577
5578        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5579
55802006-10-07 20:34  gb
5581
5582        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5583        kernel debugger if interactive streams aren't initialized yet.
5584        (We'd probably get there sooner or later in that case; try to get
5585        there sooner.)
5586
55872006-10-07 20:33  gb
5588
5589        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5590        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5591        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5592        method.)
5593
55942006-10-07 20:32  gb
5595
5596        * level-1/l1-application.lisp: Handle the (new)
5597        -K/--terminal-encoding command-line argument.
5598
55992006-10-07 11:14  gb
5600
5601        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5602        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5603        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5604
56052006-10-07 11:13  gb
5606
5607        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5608        entered when --batch is in effect.
5609
56102006-10-07 11:12  gb
5611
5612        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5613        PROCESS-EXIT-APPLICATION.
5614
56152006-10-07 11:11  gb
5616
5617        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5618        *stdout* here.
5619
56202006-10-06 04:49  gb
5621
5622        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5623        TRANSLATE slot to IO-BUFFER.
5624
56252006-10-06 04:40  gb
5626
5627        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5628
56292006-10-06 04:39  gb
5630
5631        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5632
56332006-10-06 04:38  gb
5634
5635        * level-1/version.lisp: Bump.
5636
56372006-10-06 04:38  gb
5638
5639        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5640        replacement character.
5641
56422006-10-05 14:46  gb
5643
5644        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5645
56462006-10-05 14:46  gb
5647
5648        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5649
56502006-10-05 14:46  gb
5651
5652        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5653        C-like value (all exceptions masked) before doing a callback.  (Not
5654        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5655        value, where most exceptions were unmasked, and this caused FP
5656        exceptions when calling out to foreign code with the "lispy"
5657        tcr.foreign_mxcsr in effect.)
5658       
5659        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5660        the spurious SIGTRAPs, but might be the right idea (and might save
5661        a context switch or two.)
5662       
5663        Mach exception stuff initializes rflags to exception rflags when
5664        arranging to resume thread at handler.  Leaving them uninitialized
5665        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5666        set.
5667
56682006-10-05 06:09  gb
5669
5670        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5671
56722006-10-05 06:09  gb
5673
5674        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5675        #\U+xxxx syntax.
5676
56772006-10-05 06:08  gb
5678
5679        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5680
56812006-10-05 06:07  gb
5682
5683        * level-1/l1-sysio.lisp: Try to get
5684        line-termination/external-format stuff working.
5685
56862006-10-05 05:35  gb
5687
5688        * level-1/l1-streams.lisp: Assume that character data is always
5689        encoded as one or more 8-bit octets.
5690
56912006-10-05 04:59  gb
5692
5693        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5694        just before we make the first one.
5695
56962006-10-02 08:13  gb
5697
5698        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5699        handlers, so we need to make handlers do a sigreturn after
5700        switching off the signal stack, etc.
5701
57022006-10-02 08:11  gb
5703
5704        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5705        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5706        handling for cleanup of tcr pending exception and since we can't
5707        easily restore the signal mask.)
5708       
5709        (Up until this point, SIGRETURN has been a nop on Darwin.)
5710
57112006-10-02 04:59  gb
5712
5713        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5714        earlier.
5715
57162006-10-02 04:47  gb
5717
5718        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5719        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5720        systems <= 10.4).
5721
57222006-10-02 02:46  gb
5723
5724        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5725        Try to make x86-64 version compile under 10.4 again; see if this
5726        breaks post-10.4 compilation.
5727
57282006-10-02 02:33  gb
5729
5730        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5731        x86-exceptions.h: Change things so that they compile for x86-64 on
5732        systems later than 10.4.  Almost certainly break 10.4 compilation
5733        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5734        hours on crap like this, just let me know!)
5735
57362006-09-27 20:33  gb
5737
5738        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5739
57402006-09-27 20:33  gb
5741
5742        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5743
57442006-09-27 05:46  gb
5745
5746        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5747        BASIC-STREAM classes a class prototype.
5748
57492006-09-27 05:45  gb
5750
5751        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5752        initialization, to make it easier to use MAKE-FD-STREAM to open
5753        (seekable) FILE-STREAMs.
5754
57552006-09-27 05:41  gb
5756
5757        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5758        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5759
57602006-09-27 05:39  gb
5761
5762        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5763        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5764        division-by-zero, but that should be masked when in foreign code.)
5765        Don't reload the lisp mxcsr until other registers have been popped,
5766        to make debugging easier in case it's the act of reloading the
5767        mxcsr that causes the spurious trap.)
5768
57692006-09-27 05:36  gb
5770
5771        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5772
57732006-09-27 05:35  gb
5774
5775        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5776        was parenthesized in such a way as to not return the error value on
5777        error.
5778
57792006-09-27 05:34  gb
5780
5781        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5782        passing context into the kernel makes it too difficult to debug/get
5783        backtrace, etc.)
5784
57852006-09-27 05:33  gb
5786
5787        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5788        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5789
57902006-09-27 05:05  gb
5791
5792        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5793        (mostly for BUILT-IN-CLASSes).
5794
57952006-09-26 20:49  gb
5796
5797        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5798        a BASIC-P argument.
5799
58002006-09-26 20:47  gb
5801
5802        * level-1/l1-streams.lisp: More changes.  Imagine that.
5803
58042006-09-26 20:46  gb
5805
5806        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5807        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5808
58092006-09-26 20:43  gb
5810
5811        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5812        take/return strings, not chars.
5813       
5814        Some bom stuff.
5815
58162006-09-24 20:14  gb
5817
5818        * lib/chars.lisp: Check for assumptions about character size.
5819        Remove some %i-isms (fixnum arithmetic), make assertions about type
5820        of char-code.
5821
58222006-09-24 20:12  gb
5823
5824        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5825        CHKBOUNDS function.  Simpler STRING-START-END.
5826
58272006-09-24 20:11  gb
5828
5829        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5830        Probably belongs elsewhere; some encodings may not make it at all
5831        possible.
5832
58332006-09-24 20:07  gb
5834
5835        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5836        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5837
58382006-09-24 20:00  gb
5839
5840        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5841        line-termination slot from ioblock and corresponding arg from
5842        functions which initialize it.
5843
58442006-09-24 19:59  gb
5845
5846        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5847        file-ioblock.
5848
58492006-09-24 19:58  gb
5850
5851        * level-1/l1-unicode.lisp: Buffer translation functions don't
5852        belong here; start thinking about BOM.
5853
58542006-09-24 19:57  gb
5855
5856        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5857        it's been a :u32const for the last few weeks ...
5858
58592006-09-24 04:29  gb
5860
5861        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5862        the code is within its bounds.
5863
58642006-09-24 04:27  gb
5865
5866        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5867        mappings in a vector and a hash table, rather than in an alist.
5868
58692006-09-24 04:26  gb
5870
5871        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5872        character constant fasl encoding ($fasl-char).
5873
58742006-09-23 05:31  gb
5875
5876        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5877        sure which are the most important.)
5878
58792006-09-23 05:29  gb
5880
5881        * level-1/l1-sysio.lisp: Start to separate
5882        line-termination/external-format stuff.
5883
58842006-09-23 05:28  gb
5885
5886        * level-1/l1-streams.lisp: Lots-o-changes.
5887
58882006-09-23 05:28  gb
5889
5890        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5891        UTF-8 (mostly for debugging utf-8 ...)
5892
58932006-09-21 04:07  gb
5894
5895        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5896        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5897        clobbered r11, sometimes didn't.)
5898
58992006-09-21 04:05  gb
5900
5901        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5902
59032006-09-21 04:05  gb
5904
5905        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5906        callback_for_interrupt.
5907
59082006-09-21 04:04  gb
5909
5910        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5911        x86-64 ucontext/mcontext on Darwin.
5912
59132006-09-21 04:02  gb
5914
5915        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5916        flavors.
5917       
5918        Add a type decl in %nanosleep.
5919
59202006-09-21 04:01  gb
5921
5922        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5923        vinsns.
5924
59252006-09-21 04:01  gb
5926
5927        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5928        values.  (Probably only matters in a few cases, like the Darwin
5929        x86-64 version of #_nanosleep, which returns a non-sign-extended
5930        "int" value if the sleep is interruted.)
5931
59322006-09-20 06:34  gb
5933
5934        * level-1/version.lisp: Bump.
5935
59362006-09-20 04:24  gb
5937
5938        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5939        slight improvements in signed-byte boxing, typechecking.
5940
59412006-09-20 04:22  gb
5942
5943        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
5944
59452006-09-20 04:21  gb
5946
5947        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
5948
59492006-09-20 04:21  gb
5950
5951        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
5952
59532006-09-20 04:20  gb
5954
5955        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
5956        versions.  Need a "logical" UTF-16, which deals with byte-order
5957        marks and a means of installing a concrete encoding.  Needs
5958        testing.
5959
59602006-09-20 04:15  gb
5961
5962        * level-1/l1-streams.lisp: Numerous changes.
5963
59642006-09-20 04:15  gb
5965
5966        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
5967
59682006-09-20 04:14  gb
5969
5970        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
5971        byte 8,16,32,64.  Tighten up some signed-byte boxing.
5972
59732006-09-20 04:12  gb
5974
5975        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
5976        8,16,32,64
5977
59782006-09-19 01:38  gb
5979
5980        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5981        vinsns for REQUIRE-[US][8,16,32,64]
5982
59832006-09-19 01:37  gb
5984
5985        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
5986        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
5987        64).
5988
59892006-09-19 01:36  gb
5990
5991        * compiler/PPC/ppc-backend.lisp: clean up an error message.
5992
59932006-09-19 01:36  gb
5994
5995        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
5996        operators.
5997
59982006-09-19 01:34  gb
5999
6000        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6001        require-[us][8,16,32,64] when possible.
6002
60032006-09-19 01:34  gb
6004
6005        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6006
60072006-09-19 01:33  gb
6008
6009        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6010
60112006-09-19 01:15  gb
6012
6013        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6014        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6015
60162006-09-19 00:36  gb
6017
6018        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6019
60202006-09-18 21:42  gb
6021
6022        * lib/macros.lisp: Macros for locking the input/output locks of an
6023        ioblock, assuming that it exists.
6024
60252006-09-17 00:45  gb
6026
6027        * level-1/l1-streams.lisp: more changes
6028
60292006-09-13 06:52  gb
6030
6031        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6032        WRITE-STRING, TERPRI.
6033
60342006-09-13 06:08  gb
6035
6036        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6037
60382006-09-13 06:07  gb
6039
6040        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6041        named encoding isn't defined.
6042       
6043        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6044
60452006-09-13 06:06  gb
6046
6047        * level-1/l1-streams.lisp: More functions in the ioblock, some
6048        support for 8-bit encodings (like utf-8).  Not finished, but
6049        getting hard to bootstrap; need to check in and build on all
6050        platforms before it gets even harder.
6051
60522006-09-12 05:34  gb
6053
6054        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6055        %copy-ivector-to-pointer) in BUG.
6056
60572006-09-12 05:31  gb
6058
6059        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6060        altstack_signal_handler is entered in foreign code.  (Maybe want to
6061        signal a lisp error in some cases, but this is currently fatal and
6062        we might as well die earlier than with a stack overflow.)
6063
60642006-09-12 05:29  gb
6065
6066        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6067        direction right on FreeBSD.  (Much better than randomly scribbling
6068        on memory in the GC, as the FreeBSD port has been doing for months
6069        now ...)
6070
60712006-09-11 21:31  gb
6072
6073        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6074        intersection.
6075
60762006-09-11 21:21  gb
6077
6078        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6079
60802006-09-11 20:10  gb
6081
6082        * level-1/l1-unicode.lisp: Character encodings contain a
6083        LITERAL-CHAR-CODE-LIMIT field.
6084
60852006-09-11 20:09  gb
6086
6087        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6088        functionality for encoded streams.
6089
60902006-09-11 20:08  gb
6091
6092        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6093
60942006-09-09 04:39  gb
6095
6096        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6097        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6098
60992006-09-09 04:21  gb
6100
6101        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6102        reasonable for ^c syntax; don't do MOD for octal.
6103
61042006-09-09 04:21  gb
6105
6106        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6107        agains boxed Unicode limit
6108
61092006-09-09 03:56  gb
6110
6111        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6112        x8664 functions, hash tables.  (PPC versions should handle hash
6113        table key movement.)
6114
61152006-09-08 22:47  gb
6116
6117        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6118        #x100.
6119
61202006-09-08 22:38  gb
6121
6122        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6123        FIXNUM->CHAR: return NIL for surrogate pairs.
6124
61252006-09-08 22:33  gb
6126
6127        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6128
61292006-09-08 22:31  gb
6130
6131        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6132        sanity-check fn/lr).
6133
61342006-09-08 18:55  gb
6135
6136        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6137        necessarily want arbitrary expressions to be compiled unsafely; do
6138        want to avoid a little type-checking sometimes.)
6139
61402006-09-08 18:52  gb
6141
6142        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6143        for values in the surrogate-pairs range.  (There are other things
6144        that it could plausibly return NIL for.)
6145
61462006-09-08 18:51  gb
6147
6148        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6149        now, just purify strings.
6150
61512006-09-08 18:48  gb
6152
6153        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6154        8), which is still useful (and exactly what it used to do.)
6155
61562006-09-08 18:47  gb
6157
6158        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6159
61602006-09-08 18:44  gb
6161
6162        * level-1/level-1.lisp: Load l1-unicode.
6163
61642006-09-08 18:44  gb
6165
6166        * level-1/l1-unicode.lisp: New file.
6167
61682006-09-07 03:50  gb
6169
6170        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6171
61722006-09-07 03:44  gb
6173
6174        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6175        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6176        attribute of the backend (may need more pure space on x86-64.)
6177
61782006-09-07 03:43  gb
6179
6180        * lisp-kernel/image.h: Bump abi version.
6181
61822006-09-07 03:43  gb
6183
6184        * level-1/version.lisp: Bump.
6185
61862006-09-07 02:58  gb
6187
6188        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6189        seems to mask synchronous signals.  Unmask them in signal handlers.
6190
61912006-09-07 02:57  gb
6192
6193        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6194        signal mask.
6195
61962006-09-07 02:56  gb
6197
6198        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6199        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6200        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6201        (char are 32 bits wide on all platforms now.)
6202
62032006-09-07 00:40  gb
6204
6205        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6206        SIGNUM_FOR_PROCESS_INTERRUPT.
6207
62082006-09-07 00:12  gb
6209
6210        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6211        box_fixnum_no_flags.
6212
62132006-09-07 00:12  gb
6214
6215        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6216        vice imul).
6217
62182006-09-06 21:18  gb
6219
6220        * compiler/X86/X8664/x8664-arch.lisp: Need
6221        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6222
62232006-09-06 18:37  gb
6224
6225        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6226        strings.
6227
62282006-09-06 18:36  gb
6229
6230        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6231        typecodes.
6232
62332006-09-06 18:36  gb
6234
6235        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6236        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6237
62382006-09-06 18:35  gb
6239
6240        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6241        contains entry for 32-bit BASE-CHAR.
6242
62432006-09-06 18:35  gb
6244
6245        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6246        extracting typecodes.
6247
62482006-09-06 18:34  gb
6249
6250        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6251        32-bit-chars.
6252
62532006-09-06 18:33  gb
6254
6255        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6256        :rcontext pseudo-register name until the target backend is in
6257        place.
6258
62592006-09-06 16:39  gb
6260
6261        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6262        stuff for x8664.
6263
62642006-09-06 16:39  gb
6265
6266        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6267        don't mix!
6268
62692006-09-06 16:38  gb
6270
6271        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6272
62732006-09-06 16:38  gb
6274
6275        * level-1/linux-files.lisp: process input/output: don't assume
6276        8-bit strings.
6277
62782006-09-06 14:42  gb
6279
6280        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6281        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6282        (since that creates confustion when cross-compiling from a
6283        non-poweropen host.)
6284
62852006-09-06 00:08  gb
6286
6287        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6288        8-bit char stuff.
6289
62902006-09-06 00:08  gb
6291
6292        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6293        here.
6294
62952006-09-05 22:49  gb
6296
6297        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6298        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6299
63002006-09-05 22:42  gb
6301
6302        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6303        of a non-simple string, understand char width issues.
6304
63052006-09-05 22:41  gb
6306
6307        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6308
63092006-09-05 22:40  gb
6310
6311        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6312        string type.
6313
63142006-09-05 22:39  gb
6315
6316        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6317
63182006-09-05 22:38  gb
6319
6320        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6321
63222006-09-05 09:13  gb
6323
6324        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6325        32-bit chars, too.
6326
63272006-09-05 09:01  gb
6328
6329        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6330        defaults to 32-bit chars.
6331
63322006-09-05 05:18  gb
6333
6334        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6335
63362006-09-05 05:18  gb
6337
6338        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6339        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6340
63412006-09-05 05:17  gb
6342
6343        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6344        for char size.
6345
63462006-09-05 05:16  gb
6347
6348        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6349        strings.
6350
63512006-09-05 05:15  gb
6352
6353        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6354        lisp_char_code; this may be more portable.
6355
63562006-09-05 05:14  gb
6357
6358        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6359
63602006-09-05 05:13  gb
6361
6362        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6363        8-bit char/strings.
6364
63652006-09-05 05:13  gb
6366
6367        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6368        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6369        the coding system in use.)
6370
63712006-09-05 05:09  gb
6372
6373        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6374        assume 8-bit strings.
6375
63762006-09-05 05:08  gb
6377
6378        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6379
63802006-09-05 05:07  gb
6381
6382        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6383        when #-target-8-bit-chars.
6384
63852006-09-05 05:06  gb
6386
6387        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6388        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6389
63902006-09-05 05:05  gb
6391
6392        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6393        :SIMPLE-STRING case with constant index.
6394
63952006-09-04 17:44  gb
6396
6397        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6398        "unsigned char", and cross fingers.
6399
64002006-09-04 17:38  gb
6401
6402        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6403        lisp_char_code type, use it when printing lisp string in the kernel
6404        debugger.
6405
64062006-09-04 17:28  gb
6407
6408        * level-1/version.lisp: Bump.
6409
64102006-09-04 17:18  gb
6411
6412        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6413        conditionalized backwards in PPC64 %INIT-MISC.
6414
64152006-09-04 17:05  gb
6416
6417        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6418        from the target arch (for bootstrapping.)
6419
64202006-09-04 17:04  gb
6421
6422        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6423        type of rdtab.ttab.
6424       
6425        Don't treat (code-char #xca) as whitespace; do treat (code-char
6426        #xa0) as whitespace.  (The former happens to be how the latter was
6427        encoded in MacRoman.)
6428       
6429        Handle U+<hex> syntax in NAME-CHAR.
6430
64312006-09-04 16:16  gb
6432
6433        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6434        and the char code with #xff to get the low byte.
6435
64362006-09-04 16:15  gb
6437
6438        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6439        and the char code with #xff or 255., not with #x255.  (Cause lots
6440        of wackiness, mostly in readtable initialization.)
6441
64422006-09-04 16:12  gb
6443
6444        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6445        u8->char (which is no more) in %CHAR-CODE.
6446
64472006-09-04 06:04  gb
6448
6449        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6450        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6451
64522006-09-04 06:03  gb
6453
6454        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6455        assertion.
6456
64572006-09-04 03:44  gb
6458
6459        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6460
64612006-09-04 03:43  gb
6462
6463        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6464        crf case of UNBOX-BASE-CHAR.
6465
64662006-09-04 02:30  gb
6467
6468        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6469        error.
6470
64712006-09-04 02:29  gb
6472
6473        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6474        size.
6475
64762006-09-04 02:26  gb
6477
6478        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6479        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6480        CHAR_SIZE_32.
6481
64822006-09-04 02:24  gb
6483
6484        * compiler/PPC/PPC32/ppc32-arch.lisp,
6485        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6486        compiler/PPC/PPC64/ppc64-arch.lisp,
6487        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6488        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6489
64902006-09-04 02:23  gb
6491
6492        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6493        32-bit characters.
6494
64952006-09-04 02:22  gb
6496
6497        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6498
64992006-09-03 16:03  gb
6500
6501        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6502        conditionalize new string types.
6503
65042006-09-03 16:03  gb
6505
6506        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6507        string element size.
6508
65092006-09-03 16:02  gb
6510
6511        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6512        level-0/l0-pred.lisp: Sketch out new string types (read-time
6513        conditionalized.)
6514
65152006-09-03 15:02  gb
6516
6517        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6518        bootstrapping.
6519
65202006-09-03 14:20  gb
6521
6522        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6523
65242006-09-03 13:22  gb
6525
6526        * compiler/: X86/X8664/x8664-backend.lisp,
6527        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6528        :target-8-bit-chars on target features.
6529
65302006-09-03 13:21  gb
6531
6532        * level-0/l0-int.lisp: Some comments/indentation.
6533
65342006-09-03 13:01  gb
6535
6536        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6537        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6538
65392006-09-02 11:24  gb
6540
6541        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6542
65432006-09-02 11:15  gb
6544
6545        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6546        a hex digit.
6547
65482006-09-02 11:11  gb
6549
6550        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6551        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6552       
6553        Don't do the whole msg_server here; just do the exc_server thing.
6554       
6555        Fix a couple of Mach exception-handling bugs; at least one more may
6556        remain.
6557
65582006-09-02 11:07  gb
6559
6560        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6561        pseudo_sigreturn.
6562       
6563        Still get spurious SIGTRAPs.
6564
65652006-09-02 11:06  gb
6566
6567        * lisp-kernel/thread_manager.c: Define some things in terms of
6568        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6569       
6570        sem_wait_forever() does repeated timed waits, since I thought that
6571        Darwin was having trouble interrpting things that waited
6572        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6573
65742006-09-02 11:03  gb
6575
6576        * lisp-kernel/Threads.h: Define some things in terms of
6577        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6578        2006, Darwin still doesn't implement enough POSIX semaphore
6579        functionality to make it possible to avoid the use of Mach
6580        semaphores.
6581
65822006-09-02 11:01  gb
6583
6584        * lib/db-io.lisp:
6585        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6586        involved.
6587
65882006-09-02 11:01  gb
6589
6590        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6591        aren't bogus objects.
6592
65932006-09-02 11:00  gb
6594
6595        * level-1/l1-streams.lisp: Try to avoid things like
6596        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6597
65982006-09-02 10:59  gb
6599
6600        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6601        FORCE-OUTPUT.
6602
66032006-09-02 10:57  gb
6604
6605        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6606        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6607       
6608        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6609        chars.
6610       
6611        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6612
66132006-09-02 10:55  gb
6614
6615        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6616        don't assume 8-bit chars.
6617
66182006-08-28 17:35  gb
6619
6620        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6621        misc_set_single_float_vector.
6622
66232006-08-28 17:01  gb
6624
6625        * xdump/faslenv.lisp: Bump max fasl version.
6626
66272006-08-28 16:48  gb
6628
6629        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6630
66312006-08-28 16:33  gb
6632
6633        * xdump/faslenv.lisp: Bump (max) fasl version.
6634
66352006-08-28 16:30  gb
6636
6637        * xdump/xfasload.lisp: xloader was missing a few new ops.
6638
66392006-08-28 05:34  gb
6640
6641        * xdump/xfasload.lisp: New string stuff here, too.
6642
66432006-08-28 05:28  gb
6644
6645        * level-0/nfasload.lisp: New string stuff.
6646
66472006-08-28 04:57  gb
6648
6649        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6650        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6651
66522006-08-28 04:57  gb
6653
6654        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6655        STREAM-READ-CHAR, since it may be faster in some cases.
6656
66572006-08-28 04:56  gb
6658
6659        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6660        (don't assume ioblock-based stream.)
6661
66622006-08-28 04:55  gb
6663
6664        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6665
66662006-08-28 04:55  gb
6667
6668        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6669         (Maybe not even cosmetic.)
6670
66712006-08-28 04:54  gb
6672
6673        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6674        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6675
66762006-08-28 04:53  gb
6677
6678        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6679
66802006-08-28 04:52  gb
6681
6682        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6683        ?  For how long will limit be 2^8 ?
6684
66852006-08-28 04:51  gb
6686
6687        * level-0/nfasload.lisp: More fasl ops.
6688
66892006-08-28 04:51  gb
6690
6691        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6692        u8-vref stuff.
6693
66942006-08-28 04:50  gb
6695
6696        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6697        not be the best way to do this.
6698
66992006-08-26 13:58  gb
6700
6701        * release-notes.txt: Updated.
6702
67032006-08-26 13:50  gb
6704
6705        * release-notes.txt: Updated.
6706
67072006-08-26 13:50  gb
6708
6709        * darwin-x86-headers64/libc/.cvsignore: Added.
6710
67112006-08-26 03:17  gb
6712
6713        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6714
67152006-08-26 03:12  gb
6716
6717        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6718        problems as always, but avoids problems with Darwin x86-64 ld64
6719        segfaulting for unknown reasons.
6720
67212006-08-26 03:11  gb
6722
6723        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6724        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6725        that we can't just return to after switching off of the alt stack.)
6726
67272006-08-26 03:08  gb
6728
6729        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6730        deciding whether or not to signal overflow.
6731
67322006-08-26 03:08  gb
6733
6734        * level-1/x86-trap-support.lisp: Need an indirection to access
6735        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6736        mcontext64.ss.
6737
67382006-08-26 03:06  gb
6739
6740        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6741        easier to step through.
6742
67432006-08-26 03:05  gb
6744
6745        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6746        in case.
6747
67482006-08-25 20:35  gb
6749
6750        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6751        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6752        REMOVE-AUTO-FLUSH-STREAM.
6753       
6754        Export them, too.
6755
67562006-08-25 20:22  gb
6757
6758        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6759        STREAM-READ-LINE.
6760
67612006-08-25 20:22  gb
6762
6763        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6764        most once but doesn't have to be the last clause.
6765
67662006-08-25 20:21  gb
6767
6768        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6769        INPUT-STREAM.
6770       
6771        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6772
67732006-08-25 20:19  gb
6774
6775        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6776        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6777        so unlock those streams with extreme prejudice before closing them.
6778
67792006-08-25 20:18  gb
6780
6781        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6782        code that assumed that interfered with handling of relative logical
6783        pathnames.
6784
67852006-08-25 20:17  gb
6786
6787        * level-1/l1-events.lisp: Rename EVENT-POLL to
6788        AUTO-FLUSH-INTERACTIVE-STREAMS.
6789       
6790        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6791        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6792        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6793       
6794        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6795       
6796        REMOVE-AUTOFLUSH-STREAM.
6797
67982006-08-25 20:13  gb
6799
6800        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6801        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6802
68032006-08-23 22:59  gb
6804
6805        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6806        SIGFPE.
6807       
6808        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6809
68102006-08-23 22:58  gb
6811
6812        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6813        pretty casual about causing spurious exceptions, so ignore them.
6814
68152006-08-23 22:57  gb
6816
6817        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6818        version, with different signals to be ignored by gdb.
6819
68202006-08-23 22:56  gb
6821
6822        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6823        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6824        Use int $0 instead.
6825
68262006-08-23 22:55  gb
6827
6828        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6829        support; may need more work.
6830
68312006-08-22 02:08  gb
6832
6833        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6834        for printing integers), since it seems to need access to pthread
6835        data (and calling print_lisp_object() from GDB might fail if %gs is
6836        pointing at the lisp TCR.)
6837
68382006-08-22 02:06  gb
6839
6840        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6841        earlier in _SPffcall, before entering foreign context.  (Need to
6842        check PPC version(s) as well.)
6843       
6844        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6845        between foreign code and lisp.
6846
68472006-08-22 02:04  gb
6848
6849        * lisp-kernel/x86-macros.s: Fix a typo.
6850
68512006-08-22 02:04  gb
6852
6853        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6854
68552006-08-22 02:03  gb
6856
6857        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6858        exception handling code.
6859       
6860        Do the DARWIN_GS_HACK things to overload %gs.
6861
68622006-08-22 02:02  gb
6863
6864        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6865        for DarwinX8664.
6866
68672006-08-22 02:01  gb
6868
6869        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6870        should really have tested WORD_SIZE.
6871       
6872        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6873        not be necessary.)
6874       
6875        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6876
68772006-08-22 01:59  gb
6878
6879        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6880        x8664.
6881       
6882        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6883
68842006-08-22 01:58  gb
6885
6886        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6887        FreeBSDX664, DarwinX8664.
6888
68892006-08-22 01:57  gb
6890
6891        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6892        lower seg1addr.
6893       
6894        Something in the (m4-generated) symbolic info in some .s files is
6895        screwy and causes ld64 to segfault; it's currently necesssary to
6896        use "strip -S" on the assembler-generated .o files.
6897
68982006-08-22 01:55  gb
6899
6900        * scripts/openmcl64: Untested changes for Darwinx8664.
6901
69022006-08-22 01:54  gb
6903
6904        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6905        xload-backend-info (compiler target is :darwinx8664, not
6906        :linuxx8664).
6907
69082006-08-22 01:53  gb
6909
6910        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6911        cross-compiling to x86 from x86.
6912
69132006-08-22 01:52  gb
6914
6915        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6916        (not :DARWINPPC-TARGET).
6917
69182006-08-22 01:50  gb
6919
6920        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6921
69222006-08-22 01:50  gb
6923
6924        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6925
69262006-08-22 01:49  gb
6927
6928        * level-1/version.lisp: Bump.
6929
69302006-08-22 01:49  gb
6931
6932        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6933        BASIC-STREAMs.
6934
69352006-08-22 01:48  gb
6936
6937        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
6938        DARWIN-TARGET, not DARWINPPC-TARGET.
6939
69402006-08-22 01:47  gb
6941
6942        * level-0/l0-init.lisp: DarwinX8664 *features*.
6943
69442006-08-22 01:47  gb
6945
6946        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
6947        really want to be DARWIN-TARGET.
6948
69492006-08-22 01:46  gb
6950
6951        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
6952        DarwinX8664.
6953
69542006-08-22 01:45  gb
6955
6956        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
6957        compiling natively.
6958       
6959        Fix X862-FIXUP-FWD-REFS if not native function on x86.
6960
69612006-08-22 01:44  gb
6962
6963        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
6964        is defined, even on x86.  Use it if not compiling natively on x86.
6965
69662006-08-20 23:59  gb
6967
6968        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
6969
69702006-08-20 23:58  gb
6971
6972        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
6973
69742006-08-20 23:58  gb
6975
6976        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
6977        prototypes for DARWIN_GS_HACK %gs segment switching.
6978
69792006-08-20 23:57  gb
6980
6981        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
6982        lisp thread starts, exits and DARWIN_GS_HACK is defined.
6983       
6984        This isn't so bad, but doing it around every ff-call might be.
6985
69862006-08-20 23:56  gb
6987
6988        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
6989
69902006-08-20 23:53  gb
6991
6992        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
6993
69942006-08-20 23:51  gb
6995
6996        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
6997
69982006-08-20 23:51  gb
6999
7000        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7001        also temporary.
7002
70032006-08-20 23:50  gb
7004
7005        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7006        mcontext64 in x8664 Darwin is temporary.
7007
70082006-08-20 20:35  gb
7009
7010        * library/darwinx664-syscalls.lisp: typo
7011
70122006-08-20 20:35  gb
7013
7014        * library/darwinx8664-syscalls.lisp: spell name right
7015
70162006-08-20 17:10  gb
7017
7018        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7019
70202006-08-20 17:10  gb
7021
7022        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7023        (do other things still use read-time conditionals ?)
7024
70252006-08-20 17:09  gb
7026
7027        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7028        setup syscall mask.
7029
70302006-08-20 17:08  gb
7031
7032        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7033        well.
7034
70352006-08-20 17:06  gb
7036
7037        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7038        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7039        word-size issues.)
7040
70412006-08-20 17:03  gb
7042
7043        * library/darwinppc-syscalls.lisp: Mask for PPC.
7044
70452006-08-20 17:02  gb
7046
7047        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7048        level-1/linux-files.lisp: Syscall conditionalization.
7049
70502006-08-20 17:01  gb
7051
7052        * level-1/l1-streams.lisp: Syscall conditionalization.
7053       
7054        SELECTION-INPUT-STREAM created with :sharing :lock.
7055
70562006-08-20 17:00  gb
7057
7058        * examples/objc-runtime.lisp: Fencepost in
7059        POINTER-IN-CFSTRING-SECTION-P.
7060
70612006-08-20 16:16  gb
7062
7063        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7064
70652006-08-18 09:50  gb
7066
7067        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7068        x8664.  Should do this on PPC as well, and should probably offer
7069        some backward-compatible behavior for reader.
7070
70712006-08-18 09:47  gb
7072
7073        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7074        backend a little.
7075       
7076        Explicily define lisp-context-register slot in each backend (%gs
7077        for those imolementations that follow the standard ABI, %fs for
7078        Darwin.)
7079
70802006-08-18 09:44  gb
7081
7082        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7083        necessary.
7084
70852006-08-18 09:43  gb
7086
7087        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7088        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7089        slot.
7090
70912006-08-18 09:42  gb
7092
7093        * compiler/backend.lisp: Backend now has a lisp-context-register
7094        slot.
7095
70962006-08-18 09:42  gb
7097
7098        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7099
71002006-08-18 09:40  gb
7101
7102        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7103        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7104        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7105        and play like the other children.
7106
71072006-08-18 09:29  gb
7108
7109        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7110        code from the PPC version and tweak it a little; needs more work.
7111
71122006-08-18 09:27  gb
7113
7114        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7115        conditionalization.
7116
71172006-08-18 09:25  gb
7118
7119        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7120       
7121        Generate an equate for HAVE_TLS.
7122
71232006-08-18 09:23  gb
7124
7125        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7126
71272006-08-18 09:19  gb
7128
7129        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7130        absolute jumps, prefers slower ones.
7131       
7132        Move lock prefixes to their own lines, to satisfy you-know-who.
7133       
7134        If we don't have thread-local-storage (TLS), it's hard to avoid the
7135        get_tcr() call on each calback.
7136
71372006-08-18 09:13  gb
7138
7139        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7140        that we HAVE_TLS.
7141
71422006-08-17 10:41  phil
7143
7144        * examples/FFI/:
7145        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7146        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7147        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7148        Using-basic-calls-and-types/Readme.rtf,
7149        Using-basic-calls-and-types/typetest-compile.sh,
7150        Using-basic-calls-and-types/typetest.c,
7151        Using-basic-calls-and-types/typetest.lisp: Initial version
7152
71532006-08-17 10:40  phil
7154
7155        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7156        [no log message]
7157
71582006-08-08 13:07  gb
7159
7160        * lisp-kernel/darwinx8664/Makefile: New file.
7161
71622006-08-08 13:07  gb
7163
7164        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7165
71662006-08-08 13:06  gb
7167
7168        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7169
71702006-08-08 13:05  gb
7171
7172        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7173        instructions on the same line as the locked instruction.  (Maybe
7174        there's a better way to do this, than just pretending that lock is
7175        a standalone instruction, but that lock instruction does seem to be
7176        treated as a prefix.)
7177
71782006-08-08 13:03  gb
7179
7180        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7181        dlfcn) on Darwin.
7182
71832006-08-08 13:02  gb
7184
7185        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7186        doesn't define mcontext64, but lots of other things reference it.
7187        #define it here for now, but that'll likely break when the headers
7188        are fixed.
7189
71902006-08-08 12:58  gb
7191
7192        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7193
71942006-08-08 12:58  gb
7195
7196        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7197        x8664/Darwin.
7198
71992006-07-29 08:41  gb
7200
7201        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7202         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7203        needs READ/WRITE- SEQUENCE support.
7204
72052006-07-29 07:39  gb
7206
7207        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7208        lock.  TODO: evaluate whether resources are worthwhile;  used for
7209        string-output-stream allocation and DELETE-DUPLICATES.
7210
72112006-07-29 06:27  gb
7212
7213        * library/lispequ.lisp: Resources aren't thread-private, need
7214        locks.
7215
72162006-07-29 06:26  gb
7217
7218        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7219        BASIC-STREAMs.
7220
72212006-07-29 06:26  gb
7222
7223        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7224        default.
7225
72262006-07-29 06:25  gb
7227
7228        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7229        been used in 10 or 12 years.
7230
72312006-07-29 03:40  gb
7232
7233        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7234
72352006-07-29 03:40  gb
7236
7237        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7238        for now.
7239
72402006-07-29 03:39  gb
7241
7242        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7243        makes one more slot in BASIC-FILE-STREAM.
7244
72452006-07-28 04:17  gb
7246
7247        * level-1/version.lisp: Bump.
7248
72492006-07-28 04:15  gb
7250
7251        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7252        in IOBLOCK.
7253
72542006-07-28 01:17  gb
7255
7256        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7257
72582006-07-28 01:16  gb
7259
7260        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7261
72622006-07-28 00:58  gb
7263
7264        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7265        output.
7266       
7267        (SLIME probably faces the same issue; should probably do something
7268        in the auto-flush case.  Of course, it's hard to know just what to
7269        do in that case. or at least what to do safely in that case.)
7270
72712006-07-28 00:49  gb
7272
7273        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7274        FUNDAMENTAL-FILE-STREAM.
7275
72762006-07-28 00:49  gb
7277
7278        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7279
72802006-07-28 00:48  gb
7281
7282        * library/lispequ.lisp: Need an explicit
7283        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7284
72852006-07-28 00:47  gb
7286
7287        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7288
72892006-07-25 03:48  gb
7290
7291        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7292
72932006-07-24 04:55  gb
7294
7295        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7296        BASIC-STREAMs.
7297
72982006-07-24 04:55  gb
7299
7300        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7301        appear.
7302
73032006-07-24 04:51  gb
7304
7305        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7306
73072006-07-24 02:43  gb
7308
7309        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7310        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7311        implementation of it (and BASIC-FILE-STREAM soon will be.)
7312
73132006-07-23 03:05  gb
7314
7315        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7316
73172006-07-23 03:03  gb
7318
7319        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7320        and is inlined.
7321       
7322        Some bug fixes; STREAM class no longer has slots.
7323       
7324        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7325        variants; fix read-byte botch (should vector according to
7326        element-type.)
7327
73282006-07-23 02:54  gb
7329
7330        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7331        STREAM-IOBLOCK now takes 2 required args.
7332
73332006-07-23 02:54  gb
7334
7335        * level-1/version.lisp: Bump.
7336
73372006-07-23 02:53  gb
7338
7339        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7340        like.
7341
73422006-07-23 02:53  gb
7343
7344        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7345       
7346        Likewise WITH-EAGAIN.
7347
73482006-07-23 01:12  gb
7349
7350        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7351        l1-sockets.lisp: Fix a few botches.
7352       
7353        :private arg to stream creation primitives replaced with :sharing,
7354        which can have values:
7355       
7356         :private (the default; stream can only be accessed by the creating
7357        thread)
7358         :lock  (the old, often slow, default); most accesses to stream
7359        involve locking
7360         :nil or :external (stream code doesn't enforce exclusion).
7361
73622006-07-22 23:57  gb
7363
7364        * level-1/l1-streams.lisp: Bootstrapping stuff.
7365       
7366        Move along, nothing to see here.
7367
73682006-07-20 03:43  gb
7369
7370        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7371        l1-sysio.lisp: First (rough) cut at making streams "private"
7372        (effectively always locked by the "owning" thread) to reduce some
7373        locking overhead.  More to come, some of which will be a little
7374        tricky to bootstrap.
7375
73762006-07-20 01:09  gb
7377
7378        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7379        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7380        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7381
73822006-07-20 01:09  gb
7383
7384        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7385
73862006-07-20 01:08  gb
7387
7388        * level-1/version.lisp: Bump.
7389
73902006-07-20 01:07  gb
7391
7392        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7393         A little tricky to bootstrap.
7394
73952006-07-20 01:05  gb
7396
7397        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7398        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7399        (istruct-based) lisp-thread accessors.
7400
74012006-07-20 01:02  gb
7402
7403        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7404        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7405        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7406        BASIC-STREAM.
7407
74082006-07-15 15:02  gb
7409
7410        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7411        IMPOSSIBLE-NUMBER condition :REPORT method.
7412
74132006-07-15 15:00  gb
7414
7415        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7416        simple vector operations unless we're sure that the vector is a
7417        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7418        leaping into the simple-typed-vector case when the element-type was
7419        known but the vector wasn't known to be SIMPLE.
7420
74212006-07-14 05:57  gb
7422
7423        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7424
74252006-07-13 16:01  gb
7426
7427        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7428        know about FIXNUM arrays.
7429
74302006-07-11 14:23  gb
7431
7432        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7433        (2-address instructions) in natural logical, arithmetic operations.
7434
74352006-07-05 02:38  gb
7436
7437        * release-notes.txt: Update.
7438
74392006-07-05 02:22  gb
7440
7441        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7442        its removal needs to be better publicized.
7443
74442006-07-04 22:24  gb
7445
7446        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7447        PROGRAM arg to RUN-PROGRAM.
7448
74492006-07-04 22:23  gb
7450
7451        * level-1/version.lisp: Bump.
7452
74532006-06-29 02:11  gb
7454
7455        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7456        image-abi-version.
7457
74582006-06-28 05:24  gb
7459
7460        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7461        pointer on DarwinPPC32 (at the very least, that platform's
7462        xFindSymbol gets confused by anything but a null pointer/global
7463        lookup.)
7464
74652006-06-28 05:09  gb
7466
7467        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7468        "Alpha", which may be a bit generous (pretty regular deadlock,
7469        random thread creation errors, other bugs.)
7470
74712006-06-28 05:07  gb
7472
7473        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7474        x86-64 version.
7475
74762006-06-28 04:04  gb
7477
7478        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7479        identifying the cause of XMM FP exceptions.  Try to do that by
7480        looking at MXCSR bits.
7481
74822006-06-28 04:03  gb
7483
7484        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7485        indicate error return.
7486
74872006-06-28 04:03  gb
7488
7489        * level-1/: l1-sockets.lisp, linux-files.lisp,
7490        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7491
74922006-06-28 04:02  gb
7493
7494        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7495        breakpoint.
7496
74972006-06-27 18:08  gb
7498
7499        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7500
75012006-06-27 17:30  gb
7502
7503        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7504
75052006-06-27 17:27  gb
7506
7507        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7508        portable; possibly break it completely ...
7509
75102006-06-27 08:55  gb
7511
7512        * lisp-kernel/x86-exceptions.c: map the altstack
7513        read/write/execute.
7514
75152006-06-27 08:54  gb
7516
7517        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7518        FreeBSD.
7519
75202006-06-27 08:54  gb
7521
7522        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7523        <pthread_np.h>
7524
75252006-06-27 08:53  gb
7526
7527        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7528        :freebsdx8664.
7529
75302006-06-27 08:53  gb
7531
7532        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7533        testing.)
7534       
7535        Don't conditionalize as much code. Indices/offsets are
7536        platform-specific, but accessors defiend in terms of them needn't
7537        be.
7538
75392006-06-27 08:51  gb
7540
7541        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7542        comment.)
7543
75442006-06-27 08:50  gb
7545
7546        * level-0/l0-init.lisp: More freebsd x8664 features.
7547
75482006-06-27 08:50  gb
7549
7550        * scripts/openmcl64: Update for FreeBSD/amd64.
7551
75522006-06-27 08:47  gb
7553
7554        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7555        :freebsdx8664-target as a target-specific-feature.
7556
75572006-06-27 05:05  gb
7558
7559        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7560        freebsd8664/elf_x86_64.x: directory rename
7561
75622006-06-27 04:59  gb
7563
7564        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7565
75662006-06-27 04:47  gb
7567
7568        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7569
75702006-06-27 04:46  gb
7571
7572        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7573        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7574
75752006-06-27 04:45  gb
7576
7577        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7578       
7579        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7580
75812006-06-27 04:44  gb
7582
7583        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7584        suspend_resume_handler.
7585
75862006-06-27 04:44  gb
7587
7588        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7589        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7590
75912006-06-27 04:43  gb
7592
7593        * lisp-kernel/imports.s: Don't import metering-control; do import
7594        get_r_debug().
7595
75962006-06-27 04:42  gb
7597
7598        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7599        word-size stuff (here and in other versions.)
7600
76012006-06-27 04:42  gb
7602
7603        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7604        FreeBSD.
7605
76062006-06-27 04:39  gb
7607
7608        * lib/foreign-types.lisp: Signed char nonsense (should use target
7609        ftd, not reader macros here.)
7610
76112006-06-27 04:38  gb
7612
7613        * lib/compile-ccl.lisp: Some FreeBSD support.
7614
76152006-06-27 04:36  gb
7616
7617        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7618        Some FreeBSD changes/conditionalization. Maybe not enough.
7619
76202006-06-27 04:35  gb
7621
7622        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7623
76242006-06-27 04:34  gb
7625
7626        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7627
76282006-06-27 04:34  gb
7629
7630        * level-0/l0-io.lisp: FreeBSD syscalls.
7631
76322006-06-27 04:33  gb
7633
7634        * level-0/l0-init.lisp: Some FreeBSD features.
7635
76362006-06-27 04:33  gb
7637
7638        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7639        changes.
7640       
7641        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7642        and test.
7643       
7644        Now depends on an imported lisp-kernel function on ELF platforms
7645        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7646
76472006-06-27 04:30  gb
7648
7649        * level-0/.cvsignore: Ignore *fsl.
7650
76512006-06-27 04:29  gb
7652
7653        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7654        in freebsd backend.
7655
76562006-06-27 04:27  gb
7657
7658        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7659        metering-control; do import get-r-debug (for Elf shared libraries.)
7660       
7661        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7662
76632006-06-27 04:26  gb
7664
7665        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7666        Don't import metering-control; do import get-r-debug (for Elf
7667        shared libraries.)
7668
76692006-06-27 04:26  gb
7670
7671        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7672
76732006-06-26 16:38  gb
7674
7675        * compiler/X86/X8664/x8664-vinsns.lisp:
7676        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7677        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7678        constant #xffff000000000000 come from ?
7679
76802006-06-26 16:35  gb
7681
7682        * compiler/X86/x862.lisp: Fix some indentation.
7683
76842006-06-25 20:32  gb
7685
7686        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7687        change initialiation of x8664 foreign-type stuff.
7688
76892006-06-25 20:31  gb
7690
7691        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7692
76932006-06-23 19:52  gb
7694
7695        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7696        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7697
76982006-06-23 19:28  gb
7699
7700        * release-notes.txt: Update some.
7701
77022006-06-23 19:11  gb
7703
7704        * examples/gtk2-clock.lisp: New file.
7705
77062006-06-23 18:56  gb
7707
7708        * level-1/version.lisp: Bump.
7709
77102006-06-23 18:52  gb
7711
7712        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7713
77142006-06-22 13:39  gb
7715
7716        * x86-headers64/gnome2/C/.cvsignore: new
7717
77182006-06-22 13:36  gb
7719
7720        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7721
77222006-06-22 13:33  gb
7723
7724        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7725        gnome2/.cvsignore: new
7726
77272006-06-22 13:30  gb
7728
7729        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7730
77312006-06-22 13:28  gb
7732
7733        * level-1/version.lisp: Bump.
7734
77352006-06-21 15:15  gb
7736
7737        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7738        ppc-spentry.s: Define new string subtags; handle them in ppc64
7739        misc_ref/misc_set.
7740
77412006-06-21 15:14  gb
7742
7743        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7744        versions) to handle FIXNUM vectors, new UCS4 strings.
7745
77462006-06-21 15:14  gb
7747
7748        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7749        versions) to handle FIXNUM vectors, new UCS4 strings.
7750
77512006-06-21 15:12  gb
7752
7753        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7754        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7755        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7756
77572006-06-21 15:11  gb
7758
7759        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7760
77612006-06-21 15:11  gb
7762
7763        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7764        wasn't updated with the introduction of fixnum vectors, (unused)
7765        UCS4 "new"strings.
7766
77672006-06-16 03:50  gb
7768
7769        * examples/objc-support.lisp: Re-compute static NSString info after
7770        opening an extension framework.
7771
77722006-06-16 03:45  gb
7773
7774        * examples/webkit.lisp: Use new functions for augmenting
7775        interfaces, loading framework.
7776
77772006-06-16 03:43  gb
7778
7779        * examples/objc-runtime.lisp: Juggle things around so that add-on
7780        framework bundles get loaded on appication re-launch.
7781       
7782        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7783        since (a) it may not be there, or may not be where we can find it
7784        yet and (b) it's probably more reasonable to do that than it would
7785        be to teach CLOS about classes that're "discovered" when the
7786        appication's launched on a newer OS release than it was saved on.
7787
77882006-06-16 03:39  gb
7789
7790        * examples/cocoa-application.lisp: Touch tha application bundle
7791        before saving an image into it.  That -may- convincve
7792        LaunchServices to do the right thing.
7793
77942006-06-16 03:38  gb
7795
7796        * examples/objc-support.lisp: Reload any addon/framework bundles
7797        that had been loaded before the image was saved when starting a
7798        bundled application.
7799       
7800        Juggle things around, so that that works (need to be able to use
7801        low-level bridge features early.)
7802
78032006-06-16 03:36  gb
7804
7805        * lib/db-io.lisp: Disable the #? reader macro.
7806
78072006-06-14 15:42  gb
7808
7809        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7810        lfun-bits.
7811
78122006-06-12 20:24  gb
7813
7814        * lib/ppc-backtrace.lisp: PPC version of
7815        %find-register-argument-value had the same sort of fencepost as the
7816        x86-64 version had a few days ago.
7817
78182006-06-10 23:52  gb
7819
7820        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7821        its GENERIC-FUNCTION-LAMBDA-LIST.
7822
78232006-06-10 23:51  gb
7824
7825        * level-1/l1-clos.lisp: Give reader/writer method args more
7826        descriptive names. (Barely more descriptive ...)
7827
78282006-06-10 19:25  gb
7829
7830        * level-1/l1-clos-boot.lisp: Arrgh.  In
7831        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7832        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7833        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7834       
7835        This was keeping non-standard instances - like ObjC classes and
7836        metaclasses - from having some of their slots initialized
7837        correctly.
7838
78392006-06-10 19:22  gb
7840
7841        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7842        objc-metaclass: don't die if the class is unnamed (makes it easier
7843        to print classes for debugging during initialization.)
7844
78452006-06-10 13:05  gb
7846
7847        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7848        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7849
78502006-06-08 05:01  gb
7851
7852        * release-notes.txt: Update a bit.
7853
78542006-06-08 03:56  gb
7855
7856        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7857        image-abi-version.
7858
78592006-06-08 03:46  gb
7860
7861        * xdump/faslenv.lisp: Bump (min) fasl version.
7862
78632006-06-08 03:35  gb
7864
7865        * lib/nfcomp.lisp: Bump (current) fasl-version.
7866
78672006-06-08 03:28  gb
7868
7869        * lisp-kernel/linuxx8664/Makefile: -O2.
7870
78712006-06-08 03:26  gb
7872
7873        * xdump/faslenv.lisp: Bump (max) fasl version.
7874
78752006-06-08 03:18  gb
7876
7877        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7878        doubt and claim that it's a beta.
7879
78802006-06-08 03:18  gb
7881
7882        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7883
78842006-06-08 03:17  gb
7885
7886        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7887        options; enable -O2.
7888
78892006-06-08 02:55  gb
7890
7891        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7892        Handle suspend (and maybe someday resume, again) signals on the
7893        altstack, since we don't really want a signal context in the middle
7894        of the tagged lisp stack ...
7895
78962006-06-08 02:52  gb
7897
7898        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7899        PLATFORM-exceptions.c; some constants/prototypes moved to
7900        Threads.h.
7901
79022006-06-08 02:51  gb
7903
7904        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7905        via install_signal_handler(); thread_signal_setup() moved here, to
7906        do that installation.
7907
79082006-06-08 02:50  gb
7909
7910        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7911       
7912        Don't call (or define) prepare_for_the_worst(), which is kind of
7913        too bad ...
7914
79152006-06-08 02:49  gb
7916
7917        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7918
79192006-06-08 01:11  gb
7920
7921        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7922        let OPTIMIZE proclamations persist beyond the LOAD.
7923
79242006-06-07 21:45  gb
7925
7926        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7927
79282006-06-07 21:38  gb
7929
7930        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7931        MMX regs.  Do maintain them in TCR.
7932
79332006-06-07 21:37  gb
7934
7935        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
7936        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
7937        temporary (old tsp), finish frame by storing into tcr.save_tsp.
7938
79392006-06-07 21:34  gb
7940
7941        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
7942
79432006-06-07 21:33  gb
7944
7945        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
7946        %stack_temp.
7947
79482006-06-07 21:32  gb
7949
7950        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
7951
79522006-06-07 21:30  gb
7953
7954        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
7955        now.
7956
79572006-06-07 21:30  gb
7958
7959        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
7960        (since it no longer exists ...).  Use %stack-temp in some cases.
7961
79622006-06-07 21:29  gb
7963
7964        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
7965        %stack-temp is a symbolic name for an MMX register that can be used
7966        for (e.g.) linking frames on the temp/foreign stacks (or for any
7967        other purpose ...)
7968
79692006-06-07 15:29  gb
7970
7971        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
7972        tcr.next_tsp in sync with %next_tsp Check to ensure that
7973        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
7974        allocating on the temp stack.  (This will soon change, so that %tsp
7975        and %next_tsp will not be canonical and the tcr fields are, then
7976        will change so that %tsp and %next_tsp will cease to exist.)
7977
79782006-06-07 15:25  gb
7979
7980        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
7981
79822006-06-07 15:25  gb
7983
7984        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
7985        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
7986        a temporary.
7987
79882006-06-07 15:23  gb
7989
7990        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
7991        don't need FP regs for this.  (They're sometimes invalid and
7992        sometimes missing, which is the point of recent changes.)
7993
79942006-06-07 15:21  gb
7995
7996        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
7997        to %Rnext_tsp to avoid potential m4 lossage.
7998
79992006-06-07 15:20  gb
8000
8001        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8002
80032006-06-07 15:20  gb
8004
8005        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8006
80072006-06-07 15:19  gb
8008
8009        * level-1/version.lisp: Bump.
8010
80112006-06-07 15:19  gb
8012
8013        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8014
80152006-06-07 15:18  gb
8016
8017        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8018        foreign-sp register (though some code still uses %mm5 as a
8019        temporary, the "canonical" foreign SP is maintained in the TCR.)
8020
80212006-06-07 04:52  gb
8022
8023        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8024        frame, get the foreign SP out of the TCR.
8025
80262006-06-07 04:52  gb
8027
8028        * compiler/X86/X8664/x8664-vinsns.lisp,
8029        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8030        maintain the foreign sp in both the TCR and the MMX register, but
8031        consider the TCR version to be canonical.
8032
80332006-06-07 02:46  gb
8034
8035        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8036        %tsp MMX register doesn't match the value in the tcr, trap.
8037        Likewise for %foreign-sp.
8038
80392006-06-07 01:29  gb
8040
8041        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8042        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8043        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8044       
8045        (The idea is to keep the temp/foreign stack pointers in the tcr and
8046        only use the MMX registers as temporaries, since it seems that
8047        handlers for asynchronous signals can't count on the MMX register
8048        values in the signal context being correct.  This seems to either
8049        be a Linux kernel bug or ill-considered if it's intentional
8050        behavior, but it seems better to work around it this way.)
8051       
8052        This is just an early step in bootstrapping that change; it's being
8053        checked into CVS so that it doesn't get lost (and so that I can
8054        recover to this point if/when I hose things on a later step.)
8055
80562006-06-07 01:24  gb
8057
8058        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8059        tcr.
8060
80612006-06-07 01:22  gb
8062
8063        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8064        next_tsp slot to the tcr.
8065
80662006-06-06 04:25  gb
8067
8068        * lib/ppc-metering.lisp: no hope
8069
80702006-06-06 04:22  gb
8071
8072        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8073        frame (cfp argument) could be an exception callback frame (xcf-p
8074        may be true of it), in which case the saved register value is in
8075        the xcf.xp context.  (Basically, this means look at the first frame
8076        if it's an xcf, otherwise skip it and start with the child.)
8077
80782006-06-06 01:48  gb
8079
8080        * compiler/X86/x86-lapmacros.lisp,
8081        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8082        Using imul to box fixnums is smaller and seems to be faster than
8083        using lea with a scale factor.
8084
80852006-06-05 23:56  gb
8086
8087        * lisp-kernel/thread_manager.c: I don't think that
8088        suspend_resume_handler wants to have suspend signals unmasked, does
8089        it ?
8090
80912006-06-05 12:43  gb
8092
8093        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8094
80952006-06-03 03:11  gb
8096
8097        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8098        last catch frame, do skip others (test was backwards.  As it
8099        probably had been in the single-value case at one point.)
8100
81012006-06-02 03:48  gb
8102
8103        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8104        *terminal-io*; do print it to *trace-output*.
8105
81062006-06-01 20:20  gb
8107
8108        * level-0/l0-array.lisp: There's a T in subtag.
8109
81102006-06-01 20:17  gb
8111
8112        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8113       
8114        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8115       
8116        correctly.
8117
81182006-06-01 20:16  gb
8119
8120        * compiler/nx0.lisp: Defvars for global optimization quantities
8121        moved to level-0.
8122
81232006-06-01 20:15  gb
8124
8125        * level-1/l1-files.lisp: Bind the variables which hold global
8126        compiler optimization quantities, since people persist in doing
8127        things like:
8128       
8129        (declaim (optimize
8130        <something-that-they-probably-think-has-local-effects>))
8131       
8132        without bothering to use EVAL-WHEN or otherwise thinking very
8133        clearly.
8134       
8135        Note that this means that anyone who wanted such a declamation to
8136        have persistent global effects is now SOL.  Blame whoever wrote
8137        (for instance) clx/glx.lisp.
8138
81392006-06-01 20:11  gb
8140
8141        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8142        be referenced early in the cold load.
8143
81442006-06-01 13:13  gb
8145
8146        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8147        pointer to ENCODED-GPR-LISP if we have to get the register value
8148        from an exception frame.
8149
81502006-05-30 19:27  gwking
8151
8152        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8153        1.98)
8154
81552006-05-30 17:12  gb
8156
8157        * level-1/version.lisp: bump again.
8158
81592006-05-30 16:31  gb
8160
8161        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8162        ensure that tcr.xframe is updated from the catch frame (a) in all
8163        execution paths and (b) before RSP is updated.
8164
81652006-05-30 16:30  gb
8166
8167        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8168        vectors.
8169
81702006-05-30 16:29  gb
8171
8172        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8173
81742006-05-30 16:29  gb
8175
8176        * release-notes.txt: Update some more ...
8177
81782006-05-30 16:23  gb
8179
8180        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8181        Apparently.
8182
81832006-05-30 16:15  gb
8184
8185        * release-notes.txt: updated
8186
81872006-05-30 01:58  gb
8188
8189        * level-1/version.lisp: Bump.
8190
81912006-05-30 01:48  gb
8192
8193        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8194        made copies of the signal context and siginfo on the foreign stack,
8195        don't pass the originals to interrupt_handler().
8196       
8197        (altstack_interrupt_handler() looks suspiciously like
8198        altstack_signal_handler(), which probably had the same bug a few
8199        months ago ...)
8200       
8201        Since the alternate signal stack (as we use it) isn't reentrant,
8202        the next signal (perhaps a suspend signal) overwrote the context.
8203        Which is one reason to have made a copy in the first place ...
8204
82052006-05-30 01:43  gb
8206
8207        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8208        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8209        timeout is a good idea here, make sure that the timeout isn't
8210        fooled by #$EINTR.
8211
82122006-05-30 01:39  gb
8213
8214        * level-1/linux-files.lisp: Rename the old
8215        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8216        since it basically waits indefinitely.
8217       
8218        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8219        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8220        a "timed wait" that handles interruptions, etc. when the caller
8221        just has a "raw" (native) semaphore.
8222       
8223        Change callers, endure warnings.  New binaries soon.
8224
82252006-05-30 01:36  gb
8226
8227        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8228        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8229
82302006-05-29 22:34  gb
8231
8232        * lisp-kernel/x86-exceptions.c: The
8233        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8234        too small ...
8235
82362006-05-29 14:03  gb
8237
8238        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8239        syscall-based getcwd (it doesn't work as it once did/is documented
8240        to on linuxx8664); use the library function on all platforms.
8241
82422006-05-29 14:02  gb
8243
8244        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8245        processing interrupt.
8246
82472006-05-28 17:01  gb
8248
8249        * lisp-kernel/ppc-exceptions.c: If we handle a
8250        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8251       
8252        Back out of the hack that tried to work around a Darwin bug (FP
8253        exception flags were cleared in the MSR after a thread had been
8254        interrupted via pthread_kill()), since the fix seems not to be
8255        GC-safe.
8256       
8257        Add some debugging code to print when the exception lock is
8258        acquired/released.
8259
82602006-05-28 01:10  gb
8261
8262        * level-1/solaris-files.lisp: long gone
8263
82642006-05-23 20:25  gb
8265
8266        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8267
82682006-05-22 22:59  gb
8269
8270        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8271        C/.cvsignore: New file.
8272
82732006-05-22 22:57  gb
8274
8275        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8276        thread to suspend itself.
8277
82782006-05-22 22:57  gb
8279
8280        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8281        SINGLE-FLOAT constants.
8282       
8283        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8284        64-bit arg word, regardless of whether they're also passed in
8285        f1-f13 as well.
8286
82872006-05-22 22:55  gb
8288
8289        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8290        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8291        64-bit word.
8292
82932006-05-22 22:54  gb
8294
8295        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8296        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8297
82982006-05-22 22:53  gb
8299
8300        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8301        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8302        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8303        access them.
8304
83052006-05-22 03:53  gb
8306
8307        * level-1/version.lisp: Bump.
8308
83092006-05-22 03:32  gb
8310
8311        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8312
83132006-05-22 03:31  gb
8314
8315        * compiler/X86/x862.lisp: Numeric contagion on binops,
8316        fixnum->float.
8317
83182006-05-22 03:29  gb
8319
8320        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8321        well.
8322
83232006-05-22 03:28  gb
8324
8325        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8326        earlier when creating a stack frame inline.  Doesn't seem to affect
8327        latency much.
8328
83292006-05-22 03:27  gb
8330
8331        * compiler/X86/x862.lisp: Comment formatting on the first line of
8332        the file.
8333
83342006-05-22 03:26  gb
8335
8336        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8337        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8338
83392006-05-21 07:34  gb
8340
8341        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8342
83432006-05-21 07:32  gb
8344
8345        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8346        numeric-contagion stuff for arithmetic ops.
8347
83482006-05-21 07:31  gb
8349
8350        * compiler/nx1.lisp: Use div2 for /-2.
8351
83522006-05-21 07:31  gb
8353
8354        * compiler/nx0.lisp: Binop numeric contagion.
8355
83562006-05-21 06:49  gb
8357
8358        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8359
83602006-05-21 06:49  gb
8361
8362        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8363        weird, just wrong.
8364
83652006-05-21 06:17  gb
8366
8367        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8368        SIMPLE-FIXNUM-VECTORs.
8369
83702006-05-21 06:16  gb
8371
8372        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8373        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8374
83752006-05-21 06:16  gb
8376
8377        * compiler/PPC/PPC32/ppc32-arch.lisp,
8378        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8379        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8380        vector stuff.
8381
83822006-05-21 06:15  gb
8383
8384        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8385       
8386        Fixnum vector vref/vset.
8387
83882006-05-21 06:15  gb
8389
8390        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8391        %fixnum-to-double.
8392
83932006-05-21 06:14  gb
8394
8395        * compiler/nx0.lisp: More operator result types.
8396
83972006-05-21 04:35  gb
8398
8399        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8400        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8401        specialized FIXNUM array-element-type into type system, CLOS.
8402        (Knock wood.)
8403
84042006-05-21 04:34  gb
8405
8406        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8407        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8408
84092006-05-21 04:33  gb
8410
8411        * compiler/X86/X8664/x8664-arch.lisp,
8412        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8413        subtag for :fixnum-vector.
8414
84152006-05-21 04:32  gb
8416
8417        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8418        indices correctly.
8419       
8420        64-bit vset, vref: handle :FIXNUM-VECTOR.
8421
84222006-05-21 00:22  gb
8423
8424        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8425
84262006-05-20 18:13  gb
8427
8428        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8429        stack args) without restoring/re-saving NVRs.
8430
84312006-05-19 15:07  gb
8432
8433        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8434        completion semaphore (when :WAIT is true) happens inside an
8435        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8436        interrupts.
8437
84382006-05-19 15:06  gb
8439
8440        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8441        for SEMAPHORE.
8442
84432006-05-19 12:23  gwking
8444
8445        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8446        Also changed it so that it displays all items before trying to get
8447        an answer.
8448
84492006-05-19 12:00  gwking
8450
8451        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8452
84532006-05-19 11:57  gwking
8454
8455        * .cvsignore: The *fsl wasn't cutting it for me...
8456
84572006-05-19 11:50  gb
8458
8459        * level-1/version.lisp: Bump.
8460
84612006-05-19 11:49  gb
8462
8463        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8464        syscall definitions so that it can be moused on.
8465
84662006-05-19 11:48  gb
8467
8468        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8469        .SPeabi-syscall -> .SPsyscall.
8470
84712006-05-19 11:45  gb
8472
8473        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8474        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8475        does indeed burn cache lines, but going out of line isn't cheap
8476        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8477        are in fact fixnums and no overflow is involved - seems to be about
8478        2X faster when inlined this way.  Not sure if that'll be the case
8479        on PPC.)
8480
84812006-05-19 11:40  gb
8482
8483        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8484        stuff.
8485
84862006-05-18 14:47  gb
8487
8488        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8489        in all places that do so ...), update tcr.xframe from
8490        catch_frame.xframe on all execution paths (in particular, do so
8491        before SP is restored from the catch_frame, since a tcr.xframe
8492        "beyond" SP is clearly bogus.)
8493
84942006-05-18 02:34  gb
8495
8496        * level-1/version.lisp: Bump.
8497
84982006-05-17 23:12  gb
8499
8500        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8501        for PPC, too.
8502
85032006-05-17 22:53  gb
8504
8505        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8506        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8507        if any unmasked exceptions were raised before even calling this ...
8508
85092006-05-17 22:51  gb
8510
8511        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8512        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8513
85142006-05-17 22:50  gb
8515
8516        * compiler/X86/x862.lisp: Work harder to find acode types in some
8517        cases.
8518
85192006-05-17 22:50  gb
8520
8521        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8522        registers in OP-REG.
8523       
8524        Don't want to use RET very often if at all, but disassembler should
8525        treat as as a :JUMP.
8526
85272006-05-17 22:48  gb
8528
8529        * compiler/nxenv.lisp: MUL2, DIV2.
8530
85312006-05-17 22:48  gb
8532
8533        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8534        type-inferencing (or, more accurately, paying a little more
8535        attention here and there.)
8536
85372006-05-12 20:40  gwking
8538
8539        * examples/addressbook.lisp: added examples/addressbook.lisp
8540
85412006-05-11 18:42  gb
8542
8543        * level-1/l1-application.lisp: Stop processing command-line
8544        arguments when "--" is encountered; anything after that "--" is
8545        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8546
85472006-05-11 18:42  gb
8548
8549        * lib/ccl-export-syms.lisp: Export command-line stuff
8550
85512006-05-11 18:40  gb
8552
8553        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8554        method for LOCKs.
8555
85562006-05-11 18:39  gb
8557
8558        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8559        are base-strings (and always have been in OpenMCL.)
8560
85612006-05-11 18:37  gb
8562
8563        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8564
85652006-05-11 08:11  gwking
8566
8567        * lib/db-io.lisp: Added a check that the directory exists to
8568        fid-open-output in order to make it clearer what is wrong when one
8569        is unable to rebuild interface files because they are trying to do
8570        so in a place without FFI files to read!
8571
85722006-05-11 05:14  gb
8573
8574        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8575        Bump lisp-implementation-version, image-abi-version.
8576
85772006-05-11 05:04  gb
8578
8579        * xdump/faslenv.lisp: Bump (min) fasl version.
8580
85812006-05-11 04:52  gb
8582
8583        * lib/nfcomp.lisp: Bump (current) FASL version.
8584
85852006-05-11 04:52  gb
8586
8587        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8588        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8589
85902006-05-11 04:35  gb
8591
8592        * xdump/faslenv.lisp: Bump (max) fasl version.
8593
85942006-05-11 04:32  gb
8595
8596        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8597        target-specific feature.
8598
85992006-05-11 03:35  gb
8600
8601        * compiler/PPC/PPC32/ppc32-arch.lisp,
8602        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8603        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8604        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8605        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8606        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8607        typecodes around: get rid of the (unused) old 16-bit string; add an
8608        (as yet unused) UCS-4 string type.
8609       
8610        These changes generally involve cross-compilation (or some very
8611        tricky bootstrapping that I didn't attempt)  FASL versions and
8612        kernel ABI versions will need to change, and new binaries will be
8613        made available soon.
8614
86152006-05-10 20:20  gb
8616
8617        * compiler/PPC/ppc-lapmacros.lisp,
8618        compiler/PPC/PPC32/ppc32-arch.lisp,
8619        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8620        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8621        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8622        8-bit) character code is stored in the #x0000xx00 byte of a
8623        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8624        bootstrap natively (which is why I was trying to make ppc64->ppc32
8625        cross-compilation work.)
8626       
8627        Change related macros/visnsns as well.
8628
86292006-05-10 19:00  gb
8630
8631        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8632        think that this is just hard to do right the way that it's being
8633        done.
8634
86352006-05-10 18:59  gb
8636
8637        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8638        when cross-compiling (because word-size differences aren't handled
8639        correctly by macros.)  Until the macros are fixed, don't even try
8640        ...
8641
86422006-05-10 18:58  gb
8643
8644        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8645        target::target-most-positive-fixnum (not the host's
8646        MOST-POSITIVE-FIXNUM).
8647
86482006-05-10 18:57  gb
8649
8650        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8651        few places.
8652
86532006-05-10 18:56  gb
8654
8655        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8656
86572006-05-10 18:55  gb
8658
8659        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8660        differences between host and target types, but try to turn
8661        references to FIXNUM to the appropriate target-specific type.
8662
86632006-05-09 21:01  gb
8664
8665        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8666        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8667        around to check the high bits of the char code, but all chars have
8668        been base-chars for several years now ...
8669       
8670        UNBOX-CHARACTER was unused.
8671       
8672        (This is the first step of what may be several bootstrapping steps
8673        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8674        easily-accessed char-code bits on PPC32.)
8675
86762006-05-09 11:48  gb
8677
8678        * lisp-kernel/xlbt.c: No psn in cs_area.
8679
86802006-05-09 02:42  gb
8681
8682        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8683        to mark_simple_area_range().
8684
86852006-05-09 02:33  gb
8686
8687        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8688        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8689
86902006-05-09 02:25  gb
8691
8692        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8693        the containing TCR, to make low-level debugging a bit easier.
8694
86952006-05-09 02:25  gb
8696
8697        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8698        and debugging printfs.
8699
87002006-05-09 02:24  gb
8701
8702        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8703        extra (signed_natural *) arg, for allocptr displacement.
8704
87052006-05-09 02:23  gb
8706
8707        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8708       
8709        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8710        regs/ saved TCR fields.  The general idea is that the after they
8711        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8712        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8713        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8714        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8715       
8716        On an interrupt, the caller needs to pass in a signed_natural * to
8717        pick up the allocptr displacement (if consing was interrupted at
8718        the alloc trap); the interrupt handler uses this value to fix up
8719        alloptr when it returns if consing was interrupted.
8720       
8721        This is all pretty clearly right, but something still goes wrong
8722        under some combination of high thread stress, frequent allocation,
8723        and blocking ff-calls.
8724
87252006-05-09 02:17  gb
8726
8727        * lisp-kernel/plbt.c: No psn currently available.
8728
87292006-05-09 02:16  gb
8730
8731        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8732        where it may come in handy ...
8733
87342006-05-09 02:16  gb
8735
8736        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8737        arg.
8738
87392006-05-09 02:13  gb
8740
8741        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8742
87432006-05-09 02:12  gb
8744
8745        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8746        Restore it.
8747
87482006-05-09 02:12  gb
8749
8750        * level-0/l0-error.lisp, library/lispequ.lisp,
8751        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8752        recycle $XNOCDR.
8753
87542006-05-09 02:11  gb
8755
8756        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8757        target-specific.
8758
87592006-05-09 02:11  gb
8760
8761        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8762        target-specific.
8763
87642006-05-09 00:40  gb
8765
8766        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8767        here.
8768
87692006-05-09 00:39  gb
8770
8771        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8772        x8664.
8773
87742006-05-09 00:39  gb
8775
8776        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8777        stuff up to l1-lisp-threads.lisp.
8778
87792006-05-08 22:58  gb
8780
8781        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8782        handle array and vector headers.
8783
87842006-05-08 22:57  gb
8785
8786        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8787        of which should ever happen) with the kernel.
8788
87892006-05-08 22:56  gb
8790
8791        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8792        the TCR either.
8793
87942006-05-08 22:55  gb
8795
8796        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8797
87982006-05-08 22:55  gb
8799
8800        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8801        $xsetbadvec.
8802
88032006-05-08 03:26  gb
8804
8805        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8806        flags are set to the result of decrementing %nargs at the end of
8807        the loop.
8808
88092006-05-08 03:25  gb
8810
8811        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8812        wants a list of condition args, not a single arg.
8813
88142006-05-08 03:24  gb
8815
8816        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8817        CS-AREA.
8818
88192006-05-08 03:23  gb
8820
8821        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8822        uuo_error_udf, not as a type error.
8823
88242006-05-07 16:50  gb
8825
8826        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8827        slots in a long time (they probably haven't -needed- them in even
8828        longer; I think that this had to do with the old partial MOP.)
8829        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8830        accessor in STANDARD-OBJECT-SETF-LINE-N.
8831
88322006-05-07 04:39  gb
8833
8834        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8835        file.
8836
88372006-05-07 04:34  gb
8838
8839        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8840        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8841        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8842        if code that wants both locks isn't careful to try to obtain them
8843        in some canonical order.)
8844
88452006-05-07 04:29  gb
8846
8847        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8848
88492006-05-07 04:29  gb
8850
8851        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8852
88532006-05-07 04:28  gb
8854
8855        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8856        xFindSymbol/dlsym returns 0 on x8664.
8857
88582006-05-07 04:27  gb
8859
8860        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8861        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8862        I'd mistakenly decided that it was faster to go through memory than
8863        to use these instructions.  It seems to actually be substantially
8864        slower, as one would expect.)
8865
88662006-05-07 04:25  gb
8867
8868        * compiler/X86/x86-asm.lisp: Add support for
8869        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8870
88712006-05-07 04:21  gb
8872
8873        * library/hash-cons.lisp: Fix doc in comments.
8874
88752006-05-07 04:21  gb
8876
8877        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8878
88792006-05-07 04:20  gb
8880
8881        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8882
88832006-05-07 04:19  gb
8884
8885        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8886        TARGET-backtrace.lisp.
8887
88882006-05-07 04:18  gb
8889
8890        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8891        BOGUS-THING-P to TARGET-thread-utils.lisp.
8892
88932006-05-07 04:17  gb
8894
8895        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8896        BOGUS-THING-P support here.
8897
88982006-05-07 04:16  gb
8899
8900        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8901        to psn.
8902
89032006-05-06 15:27  gb
8904
8905        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8906        to the "natural" case.
8907
89082006-05-06 15:26  gb
8909
8910        * compiler/X86/x862.lisp: Pass the right number of args to
8911        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8912
89132006-05-06 15:26  gb
8914
8915        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8916
89172006-05-06 02:09  gb
8918
8919        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8920        A and tries to obtain lock B, and thread Y holds lock B and tries
8921        to obtain lock A, what is that a classic case of ?
8922       
8923        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8924        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8925        two locks at the same time, and that's always a bit dangerous; it
8926        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8927        that must be owned in order to manipulate either the tcr or area
8928        queues.
8929
89302006-05-06 02:04  gb
8931
8932        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8933        %REALPATH of the current directory namestring, as it does by
8934        default on some platforms (but not Linux.)
8935
89362006-05-05 20:08  gb
8937
8938        * compiler/X86/x862.lisp: x862-ff-call: really implement the
8939        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
8940        the el-bizarro <- with a (temp) node target.
8941
89422006-05-05 20:06  gb
8943
8944        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
8945        relative to the tagged entrypoint, not to the start of the
8946        underlying function-vector.)
8947
89482006-05-05 13:24  gb
8949
8950        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
8951        heap-consing an &REST arg.  (%allocptr and %next-method-context are
8952        the same register, so &rest clobbbers %next-method-context.)
8953       
8954        Could make separate entry points, so that this is only done when
8955        %next-method-context needs to be preserved ...
8956
89572006-05-05 13:21  gb
8958
8959        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
8960
89612006-05-05 02:23  gb
8962
8963        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
8964
89652006-05-05 02:23  gb
8966
8967        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
8968
89692006-05-05 01:37  gb
8970
8971        * level-1/version.lisp: Bump du jour.
8972
89732006-05-05 01:36  gb
8974
8975        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
8976        between the first 6 words of the outgoing frame (from which GPRs
8977        will be loaded) and other words (which stay on the stack); after
8978        the first 8 FP args, floats have to be passed on the stack, even if
8979        there's still room in the first 6 words of the outgoing frame.
8980       
8981        Need to understand the struct-by-value rules better: can a struct
8982        be passed partly in registers and partly on the stack ? RTFM (or,
8983        in this case, TF ABI spec.)
8984
89852006-05-05 01:31  gb
8986
8987        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
8988        case should store relative to "other-offset" (rather than   
8989        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
8990        - both the single and double-float cases were incrementing
8991        "other-offset"     twice when more than 8 FP args were involved.
8992        This had the effect of     storing floats into every other word and
8993        writing beyond the bounds of     the outgoing stack frame, possibly
8994        overwriting return addresses on the     foreign stack.
8995
89962006-05-04 23:12  gb
8997
8998        * level-1/l1-streams.lisp: James Bielman's fix to
8999        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9000
90012006-05-04 18:30  gb
9002
9003        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9004        decrement FPR-ARG-OFFSET by 8, not -8.
9005       
9006        (This could cause values outside of the stack frame to be read, but
9007        I still haven't found what's writing beyond the frame bounds.)
9008
90092006-05-04 18:27  gb
9010
9011        * lib/x86-backtrace.lisp: If its argument is an exception callback
9012        frame, %CFP-LFUN tries to determine the relative PC associated with
9013        the frame's nominal function and return that as a second value
9014        (just as it does for a real frame.)
9015       
9016        I think that this should work a high percentage of the time, but
9017        callers should generally be prepared to deal with a NULL second
9018        return value from %CFP-LFUN.
9019
90202006-05-04 11:12  gb
9021
9022        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9023        since we're using the same stack pointer to return values as we are
9024        to find arguments, don't try to "optimize" its initialization.
9025
90262006-05-03 18:52  gb
9027
9028        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9029        a little.  Don't coerce single float results to double; bind
9030        stack-ptr variable even if no args (might be a return value form
9031        that references it.) Failure to do the latter was creating a weird
9032        free variable reference that wasn't handled by the fasloader.
9033
90342006-05-03 18:50  gb
9035
9036        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9037
90382006-05-03 18:49  gb
9039
9040        * lib/nfcomp.lisp: Indent a comment.
9041
90422006-05-03 18:16  gb
9043
9044        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9045        that might involve a variable-length arglist (at this level,
9046        always), set %rax to the number (0-8) of FP arguments passed in xmm
9047        registers.
9048
90492006-05-03 13:26  gb
9050
9051        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9052        ~15, not ~!5.  (This was causing segfaults on return from
9053        interrupts sometimes.)
9054
90552006-05-03 13:24  gb
9056
9057        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9058        by SWANK/SLIME.
9059
90602006-05-03 13:23  gb
9061
9062        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9063        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9064        seems to get many things wrong.)
9065
90662006-05-03 11:37  gb
9067
9068        * level-1/version.lisp: You mist have yesterday's version.
9069
90702006-05-03 11:37  gb
9071
9072        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9073        LAP.
9074
90752006-05-03 11:36  gb
9076
9077        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9078        #+x8664-target.
9079
90802006-05-03 11:36  gb
9081
9082        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9083        it can just check for a 2-digit bignum header if it has something
9084        of tag TAG-MISC.
9085
90862006-05-03 11:34  gb
9087
9088        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9089        destinations.
9090
90912006-05-03 11:33  gb
9092
9093        * compiler/X86/x86-disassemble.lisp: Recognize
9094        uuo-error-eep-unresolved.
9095
90962006-05-02 18:07  gb
9097
9098        * level-1/version.lisp: Bump.
9099
91002006-05-02 18:07  gb
9101
9102        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9103        (mostly ?) unused and currently PPC-specific, if it works at all
9104        ...
9105
91062006-05-02 10:27  gb
9107
9108        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9109        for STRING-INPUT-STREAMs; it's not clear what such a method should
9110        do (and fairly clear that it shouldn't do what the previous
9111        definition was doing.)
9112
91132006-05-02 10:26  gb
9114
9115        * lib/format.lisp: clear input from *query-io*, not from
9116        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9117
91182006-05-02 10:26  gb
9119
9120        * library/hash-cons.lisp: x8664 lap
9121
91222006-05-02 10:26  gb
9123
9124        * lisp-kernel/x86-gc.c: hons area stuff
9125
91262006-04-29 09:14  gb
9127
9128        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9129        overflow (on value/temp stacks).
9130
91312006-04-29 09:13  gb
9132
9133        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9134        callback.
9135
91362006-04-29 09:10  gb
9137
9138        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9139       
9140        No linker script.
9141       
9142        Use -lthr, which offers 1:1 threads.
9143
91442006-04-29 09:09  gb
9145
9146        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9147
91482006-04-29 09:01  gb
9149
9150        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9151
91522006-04-29 09:00  gb
9153
9154        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9155        anything cares ...)
9156
91572006-04-29 08:59  gb
9158
9159        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9160
91612006-04-29 08:58  gb
9162
9163        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9164
91652006-04-29 08:58  gb
9166
9167        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9168
91692006-04-28 21:28  gb
9170
9171        * level-1/version.lisp: bump.
9172
91732006-04-28 21:27  gb
9174
9175        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9176        version).
9177
91782006-04-28 21:24  gb
9179
9180        * lib/ppc-backtrace.lisp: Fix typo.
9181
91822006-04-28 21:23  gb
9183
9184        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9185       
9186        Change the command/keyword parser a little, so that :FOO is just
9187        :FOO and not (:FOO).
9188       
9189        Change :B break loop command (and :F) to allow focusing on a range
9190        of frames, and change PRINT-CALL-HISTORY to more easily support
9191        that.
9192
91932006-04-28 19:37  gb
9194
9195        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9196        LOAD-CONSTANT form.
9197
91982006-04-28 19:34  gb
9199
9200        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9201        Factor out a little more.  Time to see what's broken on PPC ...
9202
92032006-04-28 19:34  gb
9204
9205        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9206        around colon-commands optional.
9207
92082006-04-28 04:11  gb
9209
9210        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9211        debugger's register display code.
9212
92132006-04-28 04:11  gb
9214
9215        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9216        on the stack is bogus.
9217
92182006-04-28 04:10  gb
9219
9220        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9221        ...) when calling back for an exception.
9222
92232006-04-28 03:36  gb
9224
9225        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9226       
9227        xcf struct.
9228
92292006-04-28 03:36  gb
9230
9231        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9232
92332006-04-28 03:36  gb
9234
9235        * lib/x86-backtrace.lisp: Implemented some stuff.
9236       
9237        Backtrace (sort of) works on x8664 now; need to find register
9238        values,  hide tagged return addresses, a few other things.
9239
92402006-04-28 03:34  gb
9241
9242        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9243
92442006-04-28 03:34  gb
9245
9246        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9247
92482006-04-28 03:33  gb
9249
9250        * level-1/x86-trap-support.lisp: Flags register accessor.
9251       
9252        New exception callback scheme.
9253
92542006-04-28 03:33  gb
9255
9256        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9257        changing.
9258
92592006-04-28 03:32  gb
9260
9261        * level-1/x86-error-signal.lisp: New exception callback stuff.
9262
92632006-04-28 03:32  gb
9264
9265        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9266
92672006-04-28 03:32  gb
9268
9269        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9270        files.
9271
92722006-04-28 03:31  gb
9273
9274        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9275        have exception callback frames ...
9276
92772006-04-28 03:30  gb
9278
9279        * level-1/l1-error-system.lisp: Tweak :report method for
9280        wrong-number-of-args errors.
9281
92822006-04-28 03:30  gb
9283
9284        * level-0/X86/x86-def.lisp: Implement APPLY+.
9285
92862006-04-28 03:29  gb
9287
9288        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9289
92902006-04-28 03:27  gb
9291
9292        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9293       
9294        CHECK-NARGS: don't enforce upper bound if it's null.
9295
92962006-04-28 03:17  gb
9297
9298        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9299
93002006-04-28 03:16  gb
9301
9302        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9303        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9304
93052006-04-26 14:18  gb
9306
9307        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9308
93092006-04-26 14:17  gb
9310
9311        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9312        prepared" to do so) if its argument isn't a function designator, so
9313        don't quietly call METHOD-FUNCTION for the user.
9314
93152006-04-26 13:56  gb
9316
9317        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9318        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9319
93202006-04-26 03:59  gb
9321
9322        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9323        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9324        exceptions will be pending when we start an ff-call (and the mxcsr
9325        is loaded from that location.)
9326       
9327        tcr.ffi_exception will then contain non-zero exception bits iff the
9328        most recent ff-call raised a (probably masked) FP exception.
9329       
9330        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9331
93322006-04-26 03:55  gb
9333
9334        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9335
93362006-04-26 03:23  gb
9337
9338        * lisp-kernel/x86-constants64.s: Update comment on
9339        tcr.ffi_exception.
9340
93412006-04-26 03:22  gb
9342
9343        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9344        from ffcall.  (Should maybe clear exception bits on entry to
9345        foreign state, so we're sure that any exception bits set in the
9346        tcr.ffi_exception slot were caused by the most recent ff-call.)
9347
93482006-04-26 03:20  gb
9349
9350        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9351        ffcall, compare them to unmasked exception bits in current MXCSR,
9352        maybe raise FP exception.  (Note: compile this change and rebuild
9353        image before making corresponding kernel change.)
9354
93552006-04-26 02:31  gb
9356
9357        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9358        LOGAND-2, not to LOGXOR-2.  Sheesh.
9359
93602006-04-26 02:01  gb
9361
9362        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9363        bit numbers as tests of the sign bit.   (This is probably best
9364        viewed as being "formally undefined", but it's not too expensive to
9365        check for that.  The case where the bit number's negative is
9366        definitely undefined; I think that it also gets treated as a test
9367        of the sign bit.)
9368
93692006-04-26 01:58  gb
9370
9371        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9372        negative.
9373
93742006-04-26 01:32  gb
9375
9376        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9377        61.  (Should check here for negative bit .)
9378
93792006-04-26 01:31  gb
9380
9381        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9382        context" error - which typically indicates a fault during exception
9383        processing - pass the context in to the kernel debugger.
9384
93852006-04-26 01:30  gb
9386
9387        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9388
93892006-04-26 00:56  gb
9390
9391        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9392        if it compares all corresponding digits, rather than repeatedly
9393        comparing the 0th digits N times ...
9394
93952006-04-25 17:38  gb
9396
9397        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9398        is 0, not if disp is 0.  ash: always make a signed integer out of
9399        the result,  since arg is always signed.
9400
94012006-04-25 17:37  gb
9402
9403        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9404        bit, so (for instance) (- 0.0d0) is -0.0d0.
9405
94062006-04-25 17:36  gb
9407
9408        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9409        time.
9410
94112006-04-25 17:35  gb
9412
9413        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9414        operand is in target reg (2-address issue.)
9415
94162006-04-24 16:42  gb
9417
9418        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9419        Apparently, pretty hard.  It was doing a logical shift right when
9420        typechecking the value, so negative values were rejected.
9421
94222006-04-24 16:41  gb
9423
9424        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9425        callback now takes a 'signo' argument.
9426
94272006-04-24 16:40  gb
9428
9429        * level-1/x86-trap-support.lisp: Initial support for handling
9430        arithmetic errors.  Will need more work to get operation and
9431        operands right.
9432
94332006-04-24 16:39  gb
9434
9435        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9436
94372006-04-24 13:58  gb
9438
9439        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9440        uuo-error-reg-not-type case.
9441
94422006-04-24 13:57  gb
9443
9444        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9445        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9446        another story.)
9447
94482006-04-24 13:55  gb
9449
9450        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9451        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9452        boxed, either.
9453
94542006-04-24 12:02  gb
9455
9456        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9457        _SPtcallnfngen: several bugs, which were already fixed in similar
9458        variants.
9459
94602006-04-24 12:01  gb
9461
9462        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9463        Deutch/Waite/Schorr marker.
9464
94652006-04-24 12:00  gb
9466
9467        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9468        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9469
94702006-04-24 11:59  gb
9471
9472        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9473
94742006-04-24 11:58  gb
9475
9476        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9477        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9478        DOUBLE-FLOAT.
9479
94802006-04-24 11:58  gb
9481
9482        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9483        high and low words of the mantissa, to ensure that no hidden bits
9484        are set.  (Some such bits were set, causing many double-float
9485        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9486
94872006-04-24 02:21  gb
9488
9489        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9490        image.
9491       
9492        (Don't expect it to have any contents yet; that'll require several
9493        more changes.   This is all intended to support PURIFY on x8664,
9494        where we'll want to ensure that any constant referenced by a
9495        function in readonly/pure memory has a fixed, static address.)
9496
94972006-04-24 02:14  gb
9498
9499        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9500        section makes NUM_IMAGE_SECTIONS 4.
9501
95022006-04-24 02:13  gb
9503
9504        * lisp-kernel/area.h: Typo in the definition of
9505        AREA_MANAGED_STATIC.
9506
95072006-04-24 02:12  gb
9508
9509        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9510        more areas.
9511
95122006-04-24 02:12  gb
9513
9514        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9515        addresses of instructions (not pointers thereto ...)
9516
95172006-04-24 02:11  gb
9518
9519        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9520        (mostly so that I could step through it to remember how it worked
9521        ...).
9522
95232006-04-24 02:10  gb
9524
9525        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9526        indirection.
9527
95282006-04-24 02:09  gb
9529
9530        * lisp-kernel/x86-gc.c: Remove a sanity check.
9531
95322006-04-24 02:09  gb
9533
9534        * xdump/xfasload.lisp: Create (empty) managed-static section
9535        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9536
95372006-04-24 02:08  gb
9538
9539        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9540        section.
9541
95422006-04-24 02:07  gb
9543
9544        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9545        fds, take CLOSE-ON-ERROR more seriously.
9546
95472006-04-24 02:06  gb
9548
9549        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9550        %CURRENT-FRAME-PTR) on PPC32/64.
9551
95522006-04-24 00:50  gb
9553
9554        * level-1/version.lisp: Bump.  Getting there ...
9555
95562006-04-24 00:50  gb
9557
9558        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9559       
9560        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9561        so pass them as a pointer to avoid word-size issues.
9562
95632006-04-24 00:48  gb
9564
9565        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9566        things that had been missing.
9567
95682006-04-24 00:48  gb
9569
9570        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9571        UUOs.
9572
95732006-04-24 00:48  gb
9574
9575        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9576
95772006-04-24 00:47  gb
9578
9579        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9580
95812006-04-24 00:47  gb
9582
9583        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9584
95852006-04-24 00:47  gb
9586
9587        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9588
95892006-04-24 00:46  gb
9590
9591        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9592        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9593        need to boostrap on PPC).
9594       
9595        Parse %FOREIGN-STACK-POINTER.
9596
95972006-04-22 03:30  gb
9598
9599        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9600        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9601        because (a) nothing else will and (b) the tcr will likely become
9602        unmapped soon, and we don't want things that walk the tcr list to
9603        segfault.
9604
96052006-04-22 03:27  gb
9606
9607        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9608        find_foreign_rsp; call Bug() and exit() if the context has no
9609        fpregs.  (That's a symptom, not the proble, but it's slightly
9610        better to do this than to double fault, which is what seems to be
9611        happening.)
9612
96132006-04-21 10:12  gb
9614
9615        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9616        worry about consing, write-barrier stuff.
9617
96182006-04-21 10:11  gb
9619
9620        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9621        (condition codes.)
9622
96232006-04-21 10:11  gb
9624
9625        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9626        (again.)
9627       
9628        Define enumeration constants for matching the instructions that can
9629        occur during consing.
9630
96312006-04-21 10:09  gb
9632
9633        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9634        store_node_conditional, in case pc_luser_xp() needs to complete the
9635        memoization.
9636
96372006-04-21 02:50  gb
9638
9639        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9640        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9641        allowed.
9642
96432006-04-21 02:49  gb
9644
9645        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9646        line up with GPRs.
9647
96482006-04-21 02:48  gb
9649
9650        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9651        #+64-bit-target, not #+ppc64-target.
9652
96532006-04-21 02:47  gb
9654
9655        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9656        amount.
9657
96582006-04-21 02:46  gb
9659
9660        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9661        unique to PPC64 (but do depend on #+64-bit-target).
9662
96632006-04-21 02:46  gb
9664
9665        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9666        confuse PROGV; remove them, for now.
9667
96682006-04-20 23:35  gb
9669
9670        * lisp-kernel/x86-spentry64.s: In the bignum case of
9671        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9672        whatever the code was trying to do there.
9673       
9674        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9675        and arg_z from the correct offsets within the lexpr.
9676
96772006-04-20 04:48  gb
9678
9679        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9680        force it to always be used, for now.
9681
96822006-04-19 17:11  gb
9683
9684        * lisp-kernel/pmcl-kernel.c: (Very) different
9685        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9686
96872006-04-19 17:10  gb
9688
9689        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9690        Solaris.
9691
96922006-04-19 00:35  gb
9693
9694        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9695        reversing-pointer marker should work.  (Perhaps it's a strong
9696        argument for implementing "purify" soon.)
9697
96982006-04-19 00:34  gb
9699
9700        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9701        function-boundary-marker.
9702
97032006-04-19 00:33  gb
9704
9705        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9706
97072006-04-18 19:35  gb
9708
9709        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9710        multiple-value case of THROW: don't want to do unbind_to if tcr's
9711        db-link matches target catch frame's.
9712
97132006-04-18 19:33  gb
9714
9715        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9716        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9717        synch with x86-asm.
9718
97192006-04-18 19:33  gb
9720
9721        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9722        :R in break messages.
9723       
9724        Say more about :C in :R.
9725
97262006-04-18 19:32  gb
9727
9728        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9729        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9730        seems to have been fixed.
9731
97322006-04-18 19:31  gb
9733
9734        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9735        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9736        horrible kludge, but it only happens once.)
9737
97382006-04-18 19:19  gb
9739
9740        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9741        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9742        to have been fixed.
9743
97442006-04-18 19:18  gb
9745
9746        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9747        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9748        ends of its arguments and ignoring the first few bytes (as well as
9749        doing misaligned memory references.)
9750
97512006-04-18 19:16  gb
9752
9753        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9754        This'll require some thought, mostly because of the reserved-frame
9755        issue(s).
9756
97572006-04-18 06:21  gb
9758
9759        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9760        adventures are about to end, I'm afraid.
9761
97622006-04-18 06:04  gb
9763
9764        * level-1/version.lisp: Daily bump.
9765
97662006-04-18 05:59  gb
9767
9768        * level-1/l1-sockets.lisp: Comment indentation.
9769
97702006-04-18 05:56  gb
9771
9772        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9773
97742006-04-18 05:55  gb
9775
9776        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9777        ppc-def (that means that there will need to be an APPLY+ for
9778        x8664).
9779
97802006-04-18 05:38  gb
9781
9782        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9783        compiler and x8664-vinsn-templates to agree on vinsn-names and
9784        implement some vinsns that had been missing.  (About 15 or so
9785        undefined vinsns remain.)
9786
97872006-04-18 05:37  gb
9788
9789        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9790        opcode ordinals in vinsn templates (e.g., in case new instructions
9791        are defined in the assembler) wasn't checking to see if vinsn
9792        templates named in the hash table were defined.  (It was apparently
9793        getting away with this because CONSP was broken.)  So, don't try to
9794        fixup opcode ordinals in NIL, and optionally report templates
9795        that're referenced but not defined.
9796
97972006-04-18 04:38  gb
9798
9799        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9800        (which only sets the low 8 bits of its destination), then comparing
9801        all 64-bits of the destination to a zero-extended 32-bit constant.
9802        (E.g., CONSP had little chance of being right all other things
9803        being equal, but may have been right more than one in 2^56 times if
9804        some random preceding instruction had zeroed the upper 56 bits.)
9805       
9806        (It's also shorter to do an 8-bit compare.)
9807
98082006-04-18 03:11  gb
9809
9810        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9811
98122006-04-18 02:51  gb
9813
9814        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9815        happy (well, as happy as they're going to be ...), back to finding
9816        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9817
98182006-04-18 01:26  gb
9819
9820        * lisp-kernel/thread_manager.c: Some Solaris changes.
9821
98222006-04-18 00:48  gb
9823
9824        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9825        installs in /usr/sfw/bin is both newer and buggier than the version
9826        available on the "Solaris Companion" disk, which gets installed in
9827        /opt/sfw/bin.
9828       
9829        Ordinarily, I'd wonder why a "companion" disk offers to install
9830        software that's bundled as part of the installation (especially old
9831        versions of that software.)  Now I know.
9832
98332006-04-18 00:45  gb
9834
9835        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9836
98372006-04-18 00:45  gb
9838
9839        * lisp-kernel/m4macros.m4: Fix changecom.
9840
98412006-04-18 00:11  gb
9842
9843        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9844        but is otherwise fine with single-line /* */.
9845
98462006-04-18 00:09  gb
9847
9848        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9849        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9850        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9851        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9852        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9853        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9854        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9855        like Darwin as, but we're back to single-line /* */, which is often
9856        pretty ugly and not well-supported by Emacs.
9857
98582006-04-17 23:23  gb
9859
9860        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9861        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9862        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9863        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9864        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9865        by Emacs and by all current GAS versions (but see ARM conventions.)
9866         No more jerking around with this, knock wood.
9867
98682006-04-17 23:23  gb
9869
9870        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9871        case where caller provided args before the lexpr, which is much
9872        harder than the simple case.
9873       
9874        Use #/newline for comment delimiters, which is supported by Emacs
9875        and by all current GAS versions (but see ARM conventions.)  No more
9876        jerking around with this, knock wood.
9877
98782006-04-17 23:20  gb
9879
9880        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9881        when numbers differed greatly in magnitude.  Current (binary)
9882        algorithm is usually OK.
9883
98842006-04-17 23:17  gb
9885
9886        * compiler/X86/x86-lap.lisp: Condition name should be
9887        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9888        not the problem.  Name wasn't spelled correctly in code that
9889        signals the condition, anyway.
9890
98912006-04-17 16:34  gb
9892
9893        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9894        argument, takes a new boolean to distinguish current tcr from
9895        others.  (The current tcr is only lusered on an interrupt; others
9896        are only lusered on GC entry.)
9897
98982006-04-17 16:33  gb
9899
9900        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9901        here.  (No deep reason not to share the new x86 signature on all
9902        architectures.)
9903
99042006-04-17 16:32  gb
9905
9906        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9907        here.  (No deep reason not to share the new x86 signature on all
9908        architectures.)
9909
99102006-04-17 16:31  gb
9911
9912        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9913        platform-dependent.
9914
99152006-04-17 06:49  gb
9916
9917        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9918        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9919        already.
9920
99212006-04-17 06:17  gb
9922
9923        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9924        truly portable type name.
9925
99262006-04-17 06:16  gb
9927
9928        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9929        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9930        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9931        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9932        work if they're at the start of a line in Linux GAS.  Try /* */
9933        comments, but limit them to a single line.  (May ultimately be
9934        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9935
99362006-04-17 05:28  gb
9937
9938        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9939        x86-subprims64.s, x86-uuo.s: // comments.
9940
99412006-04-17 05:28  gb
9942
9943        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
9944        conditionalization.
9945
99462006-04-17 05:27  gb
9947
9948        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
9949        accessors, etc.)
9950
99512006-04-17 05:26  gb
9952
9953        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
9954        the sigstack trampoline stuff.)
9955
99562006-04-17 05:25  gb
9957
9958        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
9959        integer types.
9960
99612006-04-17 05:24  gb
9962
9963        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
9964        x86-constants64.s: // comments.
9965
99662006-04-17 05:23  gb
9967
9968        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
9969        Solaris mmap() is ... unusual.
9970
99712006-04-17 05:21  gb
9972
9973        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
9974        since Solaris version of GAS doen't handle multi-line comments (/*
9975        ... */).  It -seems- that other assemblers do handle them
9976        correctly; we'll see.
9977       
9978        Some Solaris conditionalization (ELFstabs, etc.)
9979
99802006-04-17 05:20  gb
9981
9982        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
9983         We'll see what this breaks.
9984
99852006-04-17 05:19  gb
9986
9987        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
9988        SOLARIS is defined.
9989
99902006-04-17 05:18  gb
9991
9992        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
9993        registers in predictable order.
9994
99952006-04-17 05:17  gb
9996
9997        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
9998        single-line comments, since Solaris version of GAS doen't handle
9999        multi-line comments (/* ... */).  It -seems- that other assemblers
10000        do handle them correctly; we'll see.
10001
100022006-04-17 05:15  gb
10003
10004        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10005
100062006-04-17 05:15  gb
10007
10008        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10009       
10010        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10011        platforms ?
10012
100132006-04-17 05:01  gb
10014
10015        * lisp-kernel/solarisx64/Makefile: new file
10016
100172006-04-17 04:56  gb
10018
10019        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10020        change the name/usage of the linker script.
10021       
10022        Stop using the linker script (since spjump is the only thing in the
10023        kernel that has to be at a fixed address and we can copy it there.)
10024       
10025        Don't disable the EGC.
10026
100272006-04-17 04:54  gb
10028
10029        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10030        the spjump table, exported for C (so that spjump can be mapped into
10031        low memory.)
10032
100332006-04-17 04:54  gb
10034
10035        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10036       
10037        If the tlb's too small when trying to bind a special, push the
10038        binding index of the symbol we're binding (for the benefit of the
10039        handler.)
10040
100412006-04-17 04:52  gb
10042
10043        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10044        code words than it has elements (can't happen, unless the
10045        function's code-words word is garbage, which seems to happen when
10046        closures get consed up in non-zeroed memory.)
10047       
10048        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10049        %nargs.q), which sometimes contains something tagged and
10050        non-immediate.
10051
100522006-04-17 04:48  gb
10053
10054        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10055        to ensure that everythings's zeroed.
10056       
10057        x8664 implementation of extend_tcr_tlb().
10058       
10059        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10060        in call to update_bytes_allocated().
10061       
10062        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10063        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10064        bug, and possibly some other instabiliy.)
10065       
10066        handle_exception: keep trying to guess how to distinguish memory
10067        faults from other sources of SIGSEGV.
10068       
10069        On debug traps, advance the PC past the UUO before entering the
10070        debugger.
10071       
10072        Handle XUUO_TLB_TOO_SMALL.
10073
100742006-04-17 04:42  gb
10075
10076        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10077        reserved_frame_marker.
10078
100792006-04-17 04:42  gb
10080
10081        * lisp-kernel/thread_manager.c: Remove implementation of
10082        extend_tcr_tlb().
10083
100842006-04-17 04:41  gb
10085
10086        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10087        extend_tcr_tlb().
10088
100892006-04-17 04:41  gb
10090
10091        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10092
100932006-04-17 04:40  gb
10094
10095        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10096        that we don't need to use a linker script.
10097
100982006-04-17 04:40  gb
10099
10100        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10101        target xxx-exceptions.h now.
10102
101032006-04-17 04:39  gb
10104
10105        * lib/misc.lisp: Some comment formatting/editing.
10106
101072006-04-17 04:38  gb
10108
10109        * level-1/version.lisp: Bump.
10110
101112006-04-17 04:38  gb
10112
10113        * level-1/l1-readloop.lisp: Some debugging code in the code which
10114        creates the final closure.  It seems that when it's bad, it's bad
10115        on creation (here.)
10116
101172006-04-17 04:37  gb
10118
10119        * level-1/l1-processes.lisp: Some debugging code in
10120        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10121        final closure to be trashed.
10122       
10123        I don't think that other threads were getting their allocptr's
10124        nullified correctly by the GC/normalize_tcr(); with the current
10125        debugging code in place, it seems like the closure is consed on top
10126        of something other than free, thread-private heap memory (when it's
10127        bad, it fails the first check here.  I'm not sure that the latest
10128        round of GC/normalize-tcr() changes have fixed the problem, but I
10129        haven't seen it in a while now, either.)
10130
101312006-04-17 04:32  gb
10132
10133        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10134        disassembly, etc.).
10135
101362006-04-17 04:31  gb
10137
10138        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10139        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10140        (anymore.)
10141       
10142        Subprims are down in low memory again; make INIT-CLOSURE skip
10143        setting the high byte of .SPcall-closure's address if it's zero.
10144
101452006-04-17 04:28  gb
10146
10147        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10148        which may help backtrace.
10149
101502006-04-17 04:26  gb
10151
10152        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10153        (interface/implementation.)
10154
101552006-04-15 09:20  gb
10156
10157        * level-1/x86-callback-support.lisp: Ensure that callback
10158        trampolines are allocated in executable memory.
10159
101602006-04-15 09:12  gb
10161
10162        * lib/dumplisp.lisp: Refresh external entry points before reviving
10163        callbacks.  Reset callback storage before reviving callbacks.
10164
101652006-04-15 09:10  gb
10166
10167        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10168        error message with a %.  (Where did that come from ?)
10169
101702006-04-15 09:08  gb
10171
10172        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10173        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10174        is executable.
10175
101762006-04-14 09:02  gb
10177
10178        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10179
101802006-04-14 08:21  gb
10181
10182        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10183        shorthand for the nearest matching year.
10184
101852006-04-14 08:20  gb
10186
10187        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10188        when : was missing.
10189
101902006-04-13 23:09  gb
10191
10192        * lib/ppc-backtrace.lisp: Eschew missing parens.
10193
101942006-04-13 23:08  gb
10195
10196        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10197
101982006-04-13 23:08  gb
10199
10200        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10201        ARGLIST-FROM-MAP.
10202
102032006-04-13 23:02  gb
10204
10205        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10206        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10207        about returning a second value; returns values NIL, T for functions
10208        that take no args and don't have a symbol map.
10209
102102006-04-13 22:53  gb
10211
10212        * level-1/l1-lisp-threads.lisp: Try to make args to
10213        NTH-VALUE-IN-FRAME et al a little saner.
10214
102152006-04-13 22:37  gb
10216
10217        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10218        type.
10219
102202006-04-13 22:36  gb
10221
10222        * level-1/version.lisp: Bump.
10223
102242006-04-13 22:35  gb
10225
10226        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10227        trying to find the cause of the crash-on-quit bug.
10228
102292006-04-13 07:30  gb
10230
10231        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10232
102332006-04-13 07:29  gb
10234
10235        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10236        stuff to target-backtrace.
10237
102382006-04-13 06:45  gb
10239
10240        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10241
102422006-04-13 06:44  gb
10243
10244        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10245        x8664.
10246
102472006-04-13 06:44  gb
10248
10249        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10250        bytes of %nargs_q contain arg count.
10251
102522006-04-13 06:43  gb
10253
10254        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10255
102562006-04-13 06:43  gb
10257
10258        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10259        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10260        APPLY.
10261
102622006-04-13 06:42  gb
10263
10264        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10265
102662006-04-13 06:41  gb
10267
10268        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10269        operands.
10270
102712006-04-13 06:41  gb
10272
10273        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10274        "vector-lists" instead of adjustable arrays, simplify handling of
10275        constant expressions.  Still conses hysterically; need to find out
10276        where and tone it down a bit, if possible.
10277
102782006-04-13 06:39  gb
10279
10280        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10281        operands; maybe no lap constant-expressions.
10282
102832006-04-13 06:39  gb
10284
10285        * compiler/X86/x86-asm.lisp: Don't need
10286        *lap-constant-0-expression*.
10287
102882006-04-13 00:46  gb
10289
10290        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10291        linker script.
10292
102932006-04-13 00:45  gb
10294
10295        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10296        2.16.1 (Thanks to James Bielman).
10297
102982006-04-12 18:53  gb
10299
10300        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10301        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10302        of this seems to have to do with C++ static constructors, which
10303        aren't really relevant here.)
10304
103052006-04-12 18:28  gb
10306
10307        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10308        between %Rforeign_sp and GPRs.
10309
103102006-04-12 18:22  gb
10311
10312        * lisp-kernel/linuxx8664/Makefile: egc flag
10313
103142006-04-12 18:08  gb
10315
10316        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10317        where we're losing here.
10318
103192006-04-12 18:07  gb
10320
10321        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10322        write barrier code, crap out if so.
10323
103242006-04-12 18:06  gb
10325
10326        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10327        (presumably in a Makefile).
10328
103292006-04-12 14:50  gb
10330
10331        * level-1/version.lisp: Bump.
10332
103332006-04-12 14:46  gb
10334
10335        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10336        x86-backtrace.lisp: new target backtrace stuff.
10337
103382006-04-12 14:45  gb
10339
10340        * lib/backtrace.lisp: Start splitting things up, ideally into a
10341        mostly abstract API and gory platform- dependent implementation
10342        details.
10343
103442006-04-11 21:40  gb
10345
10346        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10347        the damned thing on.  (A little painful with integrity checking
10348        enabled, as it still is by default.)
10349       
10350        TODO:
10351       
10352        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10353        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10354        exception handling - check UUO usage in kernel, disassembler,
10355        exception handlers - stack overflow recovery
10356
103572006-04-11 21:24  gb
10358
10359        * lisp-kernel/x86-gc.c: Skip over function code in
10360        check_refmap_consistency.
10361
103622006-04-11 21:23  gb
10363
10364        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10365        backwards.
10366
103672006-04-11 19:11  gb
10368
10369        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10370
103712006-04-11 19:11  gb
10372
10373        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10374        a closure, no lfname slot in closure.
10375
103762006-04-11 16:29  gb
10377
10378        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10379        area.
10380
103812006-04-11 16:29  gb
10382
10383        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10384        between lisp/foreign code.
10385
103862006-04-11 16:29  gb
10387
10388        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10389        bit-order problems.)
10390       
10391        Maintain the MXCSR on transitions between lisp/foreign code.
10392
103932006-04-11 16:28  gb
10394
10395        * lisp-kernel/x86-macros.s: Access globals in expressions.
10396
103972006-04-11 16:27  gb
10398
10399        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10400        need some bootstrapping stuff (function boundary markers) for a few
10401        reasons, as will DWS marker.
10402
104032006-04-11 16:27  gb
10404
10405        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10406        the siginfo error code.
10407
104082006-04-11 16:26  gb
10409
10410        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10411        fields in tcr.
10412
104132006-04-11 16:25  gb
10414
10415        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10416
104172006-04-11 16:25  gb
10418
10419        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10420        when starting a lisp thread.  (It'll be saner when FP exceptions
10421        are handled.)
10422
104232006-04-11 16:24  gb
10424
10425        * level-1/x86-error-signal.lisp: Recognize what complaints about
10426        non-uvectors are trying to tell us.
10427
104282006-04-11 16:23  gb
10429
10430        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10431        vectors.
10432
104332006-04-11 16:23  gb
10434
10435        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10436        Ses.  Define classes for function/symbol vectors.
10437
104382006-04-11 16:22  gb
10439
10440        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10441
104422006-04-11 16:21  gb
10443
10444        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10445        needs to add a function boundary marker (but we can stop padding
10446        each closure with a null function name slot.)
10447
104482006-04-11 16:20  gb
10449
10450        * compiler/X86/X8664/x8664-arch.lisp: Define
10451        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10452
104532006-04-11 16:19  gb
10454
10455        * compiler/X86/x862.lisp: Emit a function boundary marker between
10456        code and constants. (For GC reasons.) Change closure initialization
10457        to account for it.
10458
104592006-04-11 16:18  gb
10460
10461        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10462        between code and constants. (For GC reasons.)
10463
104642006-04-11 16:17  gb
10465
10466        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10467
104682006-04-11 16:17  gb
10469
10470        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10471       
10472        See if we can get by without 68K condition code ...
10473
104742006-04-11 06:53  gb
10475
10476        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10477        soon.
10478
104792006-04-11 06:53  gb
10480
10481        * lib/numbers.lisp: Infinity constants conditionalized on/off
10482        during MXCSR adventures.  On now.
10483
104842006-04-11 06:52  gb
10485
10486        * lib/describe.lisp: Comment indentation.
10487       
10488        No such thing as an interpreted function; hasn't been for years.
10489
104902006-04-11 06:51  gb
10491
10492        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10493        al.
10494
104952006-04-11 06:51  gb
10496
10497        * level-1/version.lisp: Bumped yesterday.
10498
104992006-04-11 06:50  gb
10500
10501        * level-1/l1-error-signal.lisp: Comments.
10502
105032006-04-11 06:50  gb
10504
10505        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10506        at least.
10507
105082006-04-11 06:50  gb
10509
10510        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10511        a fixnum constant is boxed in %SET-MXCSR.
10512
105132006-04-11 06:49  gb
10514
10515        * level-0/X86/x86-def.lisp: Get info about register usage.
10516
105172006-04-11 06:49  gb
10518
10519        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10520        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10521        though that it was dealing with a scaled index.
10522
105232006-04-11 06:48  gb
10524
10525        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10526        aref.
10527
105282006-04-11 06:48  gb
10529
10530        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10531        do something about FRAG-CODE-BUFFERs, and need to tone down
10532        expression overkill.
10533
105342006-04-11 06:46  gb
10535
10536        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10537        for when opcode ordinals change.
10538
105392006-04-11 06:46  gb
10540
10541        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10542        UUO-ERROR-ARRAY-RANK.
10543       
10544        Vinsn template fixup mechanism, for when opcode ordinals change.
10545
105462006-04-11 06:45  gb
10547
10548        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10549
105502006-04-11 06:45  gb
10551
10552        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10553
105542006-04-11 06:44  gb
10555
10556        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10557        specialized list header initialization.
10558
105592006-04-11 06:43  gb
10560
10561        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10562        2d float arrays.
10563
105642006-04-10 10:19  gb
10565
10566        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10567        foreign SP properly obeying C alignment conventions.  In order to
10568        get it aligned for lisp usage during the callback, an extra word
10569        needs to be pushed before the backpointer to the old foreign RSP.
10570
105712006-04-10 10:18  gb
10572
10573        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10574        is 16-byte aligned, so that the foreign stack pointer is aligned
10575        according to C conventions when we enter the signal handler on that
10576        stack.
10577
105782006-04-10 10:13  gb
10579
10580        * lib/numbers.lisp: Define FP infinities, since we're running with
10581        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10582        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10583        an unmasked FP exception was raised and unhandled.)
10584
105852006-04-10 10:10  gb
10586
10587        * lib/level-2.lisp: Remove the WARN and the conditionalization
10588        around bit/bitfield accessors on X8664.
10589
105902006-04-10 10:09  gb
10591
10592        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10593        from memory, we say "ldmxcsr".  We want to do such a load in order
10594        to write new values into the mxcsr.  To store it in memory, we say
10595        "stmxcsr".  We want to do such a store (and a subsequent load from
10596        memory) in order to access the value of the mxcsr.  Simple, no ?
10597
105982006-04-10 10:07  gb
10599
10600        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10601        %GET-BIT/%SET-BIT.
10602
106032006-04-10 08:29  gb
10604
10605        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10606        addition/multiplication: either arg can overlap result (and often
10607        will).  Float subtraction/division: caller should ensure that
10608        result and second arg are disjoint.
10609
106102006-04-10 08:27  gb
10611
10612        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10613        that result doesn't overlap second argument for non-commutative
10614        operations.
10615
106162006-04-10 08:26  gb
10617
10618        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10619
106202006-04-10 05:12  gb
10621
10622        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10623        malloc them.
10624
106252006-04-10 05:12  gb
10626
10627        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10628
106292006-04-10 05:11  gb
10630
10631        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10632        good reason not to.
10633
106342006-04-10 04:39  gb
10635
10636        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10637        are always big-endian.
10638
106392006-04-10 04:38  gb
10640
10641        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10642        reachable via a TRA, update the variable "dnode" so that the
10643        correct bits get set.
10644
106452006-04-10 04:37  gb
10646
10647        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10648
106492006-04-10 04:37  gb
10650
10651        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10652        a bit simpler.
10653
106542006-04-10 04:36  gb
10655
10656        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10657        the MAKE-LOAD-FORM method for hashtables.
10658
106592006-04-09 09:17  gb
10660
10661        * lisp-kernel/thread_manager.c: Inflate control stack size on
10662        x8664, until DWS marker works (and do so correctly this time).
10663
106642006-04-09 09:12  gb
10665
10666        * lisp-kernel/thread_manager.c: Inflate control stack size on
10667        x8664, until DWS marker works.
10668
106692006-04-09 09:09  gb
10670
10671        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10672        #+x86-target DBG trap.
10673
106742006-04-09 08:57  gb
10675
10676        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10677        (Should be exactly the same code, but may not have been 15 years
10678        ago or whenever this was written.)
10679
106802006-04-09 08:56  gb
10681
10682        * lisp-kernel/x86-spentry64.s,
10683        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10684        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10685
106862006-04-09 03:52  gb
10687
10688        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10689        condition_to_boolean.  Not clear why this is necessary, but it
10690        seems to be.
10691
106922006-04-09 03:24  gb
10693
10694        * lisp-kernel/x86-macros.s: Use shorter sequence in
10695        condition_to_boolean.
10696
106972006-04-09 02:32  gb
10698
10699        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10700        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10701        other things being equal.
10702
107032006-04-09 01:37  gb
10704
10705        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10706        operands backwards.
10707
107082006-04-09 01:37  gb
10709
10710        * compiler/optimizers.lisp: Comment formatting.
10711
107122006-04-09 01:29  gb
10713
10714        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10715        bsr/xorl != clz when (zerop n).
10716
107172006-04-08 21:25  gb
10718
10719        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10720        current thread before entering kernel debugger.
10721
107222006-04-08 21:21  gb
10723
10724        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10725        (TARGET-XLOAD-MODULES).
10726
107272006-04-08 21:21  gb
10728
10729        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10730
107312006-04-08 21:20  gb
10732
10733        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10734
107352006-04-08 20:46  gb
10736
10737        * lib/foreign-types.lisp: Add missing paren ...
10738
107392006-04-08 20:45  gb
10740
10741        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10742
107432006-04-08 20:44  gb
10744
10745        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10746        structs by value, sort of.
10747
107482006-04-08 20:43  gb
10749
10750        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10751
107522006-04-08 20:42  gb
10753
10754        * library/hash-cons.lisp: Port some of this to x8664; need to add
10755        code to maintain "used" bitmap.
10756
107572006-04-08 20:42  gb
10758
10759        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10760        short term.
10761
107622006-04-08 20:41  gb
10763
10764        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10765        someday fix this crap.
10766
107672006-04-08 20:40  gb
10768
10769        * lib/describe.lisp: Conditionalize, a little.
10770
107712006-04-08 20:40  gb
10772
10773        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10774
107752006-04-08 20:39  gb
10776
10777        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10778
107792006-04-08 20:39  gb
10780
10781        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10782
107832006-04-08 20:39  gb
10784
10785        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10786        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10787
107882006-04-08 20:38  gb
10789
10790        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10791        l1-readloop-lds (nothing to do with PPC or traps ...)
10792
107932006-04-08 20:37  gb
10794
10795        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10796
107972006-04-08 04:46  gb
10798
10799        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10800        restore, even if there's only one values-producing form (that form
10801        might produce more values than will fit in argument registers, and
10802        we therefore have to reserve space for a stack frame.)
10803
108042006-04-08 04:45  gb
10805
10806        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10807
108082006-04-08 04:43  gb
10809
10810        * lib/macros.lisp: Scanning backwards for instructions depends on a
10811        reasonable architecture.
10812
108132006-04-08 04:43  gb
10814
10815        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10816
108172006-04-08 04:42  gb
10818
10819        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10820        target arch.
10821
108222006-04-08 04:41  gb
10823
10824        * xdump/.cvsignore: ignore *.*fsl
10825
108262006-04-07 22:46  gb
10827
10828        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10829
108302006-04-07 22:45  gb
10831
10832        * compiler/nx1.lisp: Provide an FTYPE declaration for
10833        %DEFINE-PPC-LAP-FUNCTION.
10834
108352006-04-07 22:25  gb
10836
10837        * level-1/version.lisp: Bump.
10838
108392006-04-07 22:19  gb
10840
10841        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10842        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10843        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10844        package.
10845
108462006-04-07 22:18  gb
10847
10848        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
10849        arch:: to ccl::.
10850
108512006-04-07 22:17  gb
10852
10853        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
10854        RISC-LAP, for instance).  That's a different package, too.
10855
108562006-04-07 20:46  gb
10857
10858        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
10859
108602006-04-07 20:45  gb
10861
10862        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
10863        I maybe look at the others, or just fix them as I stumble on them ?
10864
108652006-04-07 20:44  gb
10866
10867        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
10868        a DOUBLE-FLOAT.
10869
108702006-04-07 20:41  gb
10871
10872        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
10873        message.
10874
108752006-04-07 20:40  gb
10876
10877        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
10878        fulltag-immheader-0 twice in fasl-scan-dispatch
10879       
10880        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
10881        never handled uninterned symbols that need a binding index.)
10882
108832006-04-07 07:55  gb
10884
10885        * lib/describe.lisp: Formatting changes, mostly.
10886
108872006-04-07 07:54  gb
10888
10889        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
10890        outgoing stack frame when more than 3 args/ values are involved.
10891
108922006-04-07 07:53  gb
10893
10894        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
10895        compiler/X86/X8664/x8664-arch.lisp,
10896        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
10897        (reserves outgoing frame if necessary.)
10898
108992006-04-07 07:52  gb
10900
10901        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
10902        lispequ.
10903
109042006-04-07 06:28  gb
10905
10906        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
10907        right order.
10908
109092006-04-07 06:27  gb
10910
10911        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
10912