source: trunk/ccl/ChangeLog @ 7253

Last change on this file since 7253 was 7253, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 786.7 KB
Line 
12007-09-18 21:10  gb
2
3        * lib/macros.lisp: In WITH-SLOTS, if there are bindings, declare
4        the gensym'ed instance symbol IGNORABLE just in case none of the
5        symbol macros are actuall used.
6
72007-09-18 05:10  gb
8
9        * level-0/l0-numbers.lisp: Typo in constant again.
10
112007-09-17 21:10  gb
12
13        * level-1/sysutils.lisp: Return all three values from
14        CCL::PRINT-DEFERRED-WARNINGS
15
162007-09-17 06:10  gb
17
18        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
19        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
20        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
21        Do a real MOD to obtain the next item in the series and update the
22        state with that value.  (This means that the high bit of the high
23        half of the result is always clear; or in the sign bit from the low
24        half.)
25
262007-09-16 18:10  gb
27
28        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
29        ...
30
312007-09-16 17:10  gb
32
33        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
34        before key arg(s), so assign it an address before processing &key
35        initforms.
36
372007-09-15 17:10  gb
38
39        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
40        -LENGTH* when printing break messages.
41
422007-09-13 20:10  gb
43
44        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
45        :element-type to ccl:run-program to allow for binary streams
46
472007-09-13 06:55  gb
48
49        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
50        src/elisp/README, src/spell/README: Restore some README files,
51        which had somehow gotten lost in translation.
52
532007-09-13 06:54  gb
54
55        *
56        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
57        ib/: classes.nib, info.nib, keyedobjects.nib: not used
58
592007-09-13 06:52  gb
60
61        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
62        for certain kinds of MULTIPLE-VALUE-CALL differently; in
63        particular, note the effect of pushing such a label on stack depth.
64
652007-09-13 06:50  gb
66
67        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
68        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
69        containing directory exists in cvs.
70
712007-09-06 14:10  gb
72
73        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
74        write-info-plist
75
762007-09-04 23:11  gb
77
78        * cocoa-ide/cocoa-editor.lisp: New! Improved!
79       
80        The code which arranges for editing changes to be processed in the
81        main thread now does so via an NSInvocation (ObjC's notion of a
82        closure, sort of); the methods which run in the main thread handle
83        the job of synchronizing the underlying the Hemlock string and the
84        "real" NSMutableAttributedString as well as informing the text
85        system of pending editing changes via
86        #/edited:range:changeInLength:.  The code which processes deletions
87        does the change processing before modifying the string (other
88        methods do it after the change); this seems to be necessary to
89        avoid some things that could cause ticket:50.  (I'm not sure if
90        this fixes ticket:50, but it does seem to fix a reproducible case.)
91       
92        The #/replaceCharactersInRange:withString: method on
93        hemlock-text-storage (which handles buffer changes originating from
94        non-Hemlock sources) is careful to use a :right-inserting temporary
95        mark when modifying the buffer, to help ensure that
96        insertions/deletions take place at the correct absolute position.
97        (This may at least partially address bugs related to things getting
98        confused/out-of-bounds errors when doing lots of cutting and
99        pasting, though it's hard to know without reproducible cases.)
100       
101        The macros NSSTRING-ENCODING-TO-NSINTEGER and
102        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
103        least one of them wasn't.)
104       
105        The handling of text encoding for editor documents has changed in a
106        few ways.  If "automatic" encoding is used in an "Open ..." dialog
107        and is successfully able to infer a text file's encoding, the
108        encoding that was inferred becomes the document's encoding (used in
109        subsequent "save" operations.)  On some OSX versions, the automatic
110        detection mechanism can only recognize UTF-16 files that contain a
111        leading BOM (and the editor's code for dealing with the automatic
112        mechanism didn't expect this to ever work.)  On other systems, the
113        automatic mechanism can return something correct (I've seen UTF-8)
114        but possibly suboptimal.
115       
116        The Open... dialog now defaults to something derived from the
117        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
118        "automatic" is a little unpredictable, the new default is probably
119        better.
120       
121        The NSDocument mechanism for creating backup files (with names of
122        the form "name~.ext") is not used; when backup files are created,
123        we try to copy the original to a file whose name conforms to the
124        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
125        seem to work better when the Emacs scheme is used (though I suppose
126        some people might prefer the NSDocument scheme and we could make
127        this a preference.)
128
1292007-09-04 22:11  gb
130
131        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
132        creating a Listener, since (a) that method's deprecated in favor of
133        #/setFileURL: and (b) a newly-created Listener doesn't really have
134        an associated filename, and so shouldn't get the icon and popup in
135        its titlebar.
136       
137        Do arrange that (unless/until a listener document is saved to a
138        file) its window title is based on the underlying Hemlock buffer's
139        name.  (If one ever attempts to save a listener document, the
140        proposed file name is the internal NSDocument name; we might or
141        might not want to change that.)
142
1432007-09-04 22:10  gb
144
145        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
146        *MODELINE-FONT-NAME*, -SIZE*.
147
1482007-09-04 19:13  gb
149
150        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
151        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
152        which was supposed to allow us to track the high end of a range of
153        pages that'd been written to and not freed (so we'd zero them
154        lazily when they were reallocated.)  Such a scheme would really
155        need to track both ends of such a range, and the old scheme wound
156        up being overly zealous and often zeroed pages that were already
157        zeroed.  Zero the range between the old free pointer and the new
158        one after each GC, instead.
159       
160        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
161        carefully.
162
1632007-09-04 19:12  gb
164
165        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
166        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
167
1682007-09-04 19:11  gb
169
170        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
171        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
172        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
173        this in the PPC backends.
174       
175        (This needs testing ...)
176
1772007-09-04 19:10  gb
178
179        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
180        :single-float callback results have been coerced to :double-float
181        on x8664.
182
1832007-09-03 18:10  gb
184
185        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
186        selection or the symbol around point, regardless of global parsing
187        state (Ticket:95).  While in there, make meta-. with a numarg
188        prompt for symbol to look up.
189
1902007-08-30 20:10  gb
191
192        * level-1/l1-error-system.lisp: Add a restart for unbound
193        variable/undefined function errors -- if there is a unique
194        bound/fbound symbol of the same name in another package, offer to
195        use it instead.
196
1972007-08-30 19:10  gb
198
199        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
200        inaccesible files; it might return an exit status of 2 if it finds
201        such files, so treat that as "success" for now (ticket:98).
202
2032007-08-30 18:11  gb
204
205        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
206        Variable command output (ticket:97).
207
2082007-08-30 18:10  gb
209
210        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
211        VARIABLE-VALUE to access buffer's package (ticket:82).
212
2132007-08-30 15:11  gb
214
215        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
216        code to copy user-supplied nibfiles into a saved application bundle
217
2182007-08-30 14:10  gb
219
220        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
221        all callers of current-point-for-deletion handle the nil return
222        value case.  This fixes ticket:85
223
2242007-08-29 20:11  gb
225
226        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
227        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
228        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
229        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
230        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
231        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
232        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
233        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
234        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
235        hemlock/src/fill.lisp, hemlock/src/font.lisp,
236        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
237        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
238        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
239        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
240        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
241        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
242        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
243        hemlock/src/macros.lisp, hemlock/src/main.lisp,
244        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
245        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
246        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
247        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
248        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
249        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
250        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
251        hemlock/src/text.lisp, hemlock/src/undo.lisp,
252        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
253        hemlock/src/archive/auto-save.lisp,
254        hemlock/src/archive/bit-display.lisp,
255        hemlock/src/archive/bit-screen.lisp,
256        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
257        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
258        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
259        hemlock/src/archive/eval-server.lisp,
260        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
261        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
262        hemlock/src/archive/lisp-lib.lisp,
263        hemlock/src/archive/lispbuf.lisp,
264        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
265        hemlock/src/archive/netnews.lisp,
266        hemlock/src/archive/overwrite.lisp,
267        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
268        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
269        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
270        hemlock/src/archive/spell-corr.lisp,
271        hemlock/src/archive/spell-rt.lisp,
272        hemlock/src/archive/spellcoms.lisp,
273        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
274        hemlock/src/archive/ts-stream.lisp,
275        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
276        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
277        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
278        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
279        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
280        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
281        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
282        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
283        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
284        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
285        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
286        hemlock/website/index.html.in: umm, load cocoa-grep where it will
287        work...
288
2892007-08-29 20:10  gb
290
291        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
292
2932007-08-29 13:11  gb
294
295        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
296
2972007-08-29 12:12  gb
298
299        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
300        arg (simple case), move point to the location of the temporary mark
301        after calling the indent function.
302
3032007-08-29 12:11  gb
304
305        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
306        returns 2 values: the "column" (with tabs expanded) of the first
307        non-whitespace character on the line and that character's position.
308         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
309        position if no changes are necessary.
310
3112007-08-29 12:10  gb
312
313        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
314        method, make an NS-MUTABLE-STRING even if the string from the
315        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
316        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
317         mutable.) For ticket:84.
318
3192007-08-28 23:10  gb
320
321        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
322        hi::scroll-window actually scroll, not just move insertion point
323        around.  Fixes ticket:88.
324
3252007-08-26 13:11  gb
326
327        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
328        keyword argument to build-application: main-nib-name; names the
329        nigfile that is to be the main nib of the built application
330
3312007-08-26 12:10  gb
332
333        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
334        application bulder to trunk
335
3362007-08-25 02:13  gb
337
338        * cocoa-ide/cocoa-listener.lisp:
339        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
340        #\^d after sending the string.  (This is just a workaround for
341        ticket:82; the trailing #\^d is just treated as whitespace and
342        terminates calls to READ.  We really want some way of recognizing
343        "end of selection" and treating that like a transient EOF in some
344        cases.)
345
3462007-08-25 02:12  gb
347
348        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
349        #/openDocumentWithContentsOfURL:display:error:, since calling
350        #/openDocumentWithContentsOfURL:display: complains that
351        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
352        Cocoa.  (Note that we'd been calling
353        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
354        implementation without incident.)
355
3562007-08-25 02:11  gb
357
358        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
359        notes buffer modification.
360
3612007-08-25 02:10  gb
362
363        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
364        modification.
365
3662007-08-23 17:17  gb
367
368        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
369        method.
370
3712007-08-23 17:16  gb
372
373        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
374        #/editingInProgress method.  Add some more (conditionalized) debug
375        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
376        command thread as well as in Cocoa thread.  Make sure that Hemlock
377        command thread has bindings of command-processing data structures,
378        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
379        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
380        only set by isearch when it exits.
381
3822007-08-23 17:15  gb
383
384        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
385        font name and size; initially, Monaco 9.  (Not yet changeable
386        through preferences panel.) Adjust outline view's row height based
387        on font height.  Set the data cell to "non-editable" (could have
388        done this in IB).  Provide handlers for some menu commands
389        (continue, restarts, exitBreak); no need to validate menu items for
390        them (those commands should be available whenever backtrace dialog
391        is active.)
392
3932007-08-23 17:14  gb
394
395        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
396        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
397
3982007-08-23 17:13  gb
399
400        * cocoa-ide/hemlock/src/package.lisp: Export
401        RECURSIVE-GET-KEY-EVENT.
402
4032007-08-23 17:12  gb
404
405        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
406        read symbol for arglist.  (Should probably be more careful
407        elsewhere, too.)
408
4092007-08-23 17:11  gb
410
411        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
412        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
413        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
414
4152007-08-23 17:10  gb
416
417        * cocoa-ide/hemlock/src/echo.lisp: Don't call
418        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
419        still be pending on the echo area (how ?), and
420        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
421        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
422
4232007-08-23 16:11  gb
424
425        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
426        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
427        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
428        events in some modal loop in a command.  (The idea is that toplevel
429        editing commands inhibit redisplay in the main buffer while they're
430        active; commands which recursively process key events and which may
431        make changes to that buffer should allow redisplay while they're
432        waiting in RECURSIVE-GET-KEY-EVENT.)
433
4342007-08-23 16:10  gb
435
436        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
437        revert.
438
4392007-08-18 19:11  gb
440
441        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
442        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
443        race conditions where two threads try to update a distpatch table
444        index with different {wrapper, combined-method} pairs at the same
445        time.  (As it's written, if the store-conditional fails because a
446        slot that we thought was free is now in use, we simply don't cache
447        the pair and get a cache miss the next time; that may or may not be
448        more work than repeating the whole process would be.)
449       
450        The store-conditional is used on attempt to update the
451        combined-method slot in the pair; the wrapper slot is only updated
452        if the store-conditional succeeds.  Code which probes the wrapper
453        slots shouldn't be confused by a half-updated pair (should never
454        see a non-null wrapper slot and a null combined-method slot.)
455
4562007-08-18 17:11  gb
457
458        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
459        %DECODE-TYPE.
460
4612007-08-18 16:10  gb
462
463        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
464        determine if selection highlighting can be used, since
465        #_class_respondsToSelector requires ObjC-2.0)
466
4672007-08-16 08:22  gb
468
469        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
470        extended selection highlighting if it's supported.
471       
472        Clear the shift bit from key events associated with standard-chars.
473
4742007-08-16 08:20  gb
475
476        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
477        bound to movement commands run different commands.
478       
479        Left-mouse has the :mouse-exit logical attribute.
480
4812007-08-16 08:19  gb
482
483        * cocoa-ide/hemlock/src/buffer.lisp:
484        CURRENT-POINT-COLLAPSING-SELECTION and
485        CURRENT-POINT-EXTENDING-SELECTION replace
486        CURRENT-POINT-FOR-MOVEMENT.
487
4882007-08-16 08:18  gb
489
490        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
491        translation.
492       
493        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
494        selection highlighting under Leopard.
495
4962007-08-16 08:16  gb
497
498        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
499        "shifted" and "unshifted" variants.
500
5012007-08-16 08:15  gb
502
503        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
504        attribute.
505
5062007-08-16 08:14  gb
507
508        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
509        bit for standard-char (and upper-case.) This means that
510        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
511        (in which the shift modifier isn't explicitly set) and that
512        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
513        modifier is set in the latter.)
514
5152007-08-16 08:13  gb
516
517        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
518        the buffer if the line's already indented properly.
519       
520        Movement commands come in two variants: those that collapse and
521        those that extend the selection.
522
5232007-08-16 08:12  gb
524
525        * cocoa-ide/hemlock/src/package.lisp: Export
526        CURRENT-POINT-EXTENDING-SELECTION and
527        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
528        CURRENT-POINT-FOR-MOVEMENT.
529
5302007-08-16 08:10  gb
531
532        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
533        empatically (under Leopard) after successful (non incremental)
534        search.
535       
536        Incremental search also hilites the selection, but doesn't yet
537        manage the selection on failure.
538
5392007-08-16 07:10  gb
540
541        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
542        by invoking #/activateHemlockView on main thread; call
543        deactivate-hemlock-view on the peer.
544       
545        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
546        but I'm fairly sure that this stuff needs to happen on the main
547        thread.
548
5492007-08-09 16:10  gb
550
551        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
552        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
553
5542007-08-07 15:10  gb
555
556        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
557        beginning of buffer and end of buffer.  It's Mac standard, and I
558        use it a lot.  Home was bound to "Help".
559       
560        Make clicking the mouse while incremental searching exit instead of
561        abort, leaving the insertion point where you click instead of where
562        the isearch was started.
563
5642007-08-06 23:10  gb
565
566        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
567        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
568        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
569        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
570        hemlock key event, set the hemlock shift bit if the the Cocoa shift
571        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
572        bit cleared and the keysym downcased (if necessary).  Leave
573        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
574        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
575        deactivates the region ("collapses the selection") if the shift bit
576        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
577        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
578        hopefully all) movement commands, to address ticket:36 .  Define a
579        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
580        to it to address ticket:44 .
581
5822007-08-06 19:10  gb
583
584        * objc-bridge/objc-support.lisp: careful with db stuff
585
5862007-08-04 13:12  gb
587
588        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
589        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
590         (Should maybe do this on mousedown in the echo area, too.) Some
591        indentation changes.
592
5932007-08-04 12:14  gb
594
595        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
596        :abort key event.
597
5982007-08-04 12:13  gb
599
600        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
601        title for show lossage command.
602
6032007-08-04 12:12  gb
604
605        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
606        left mouse down, so that we can use #k"leftdown".
607
6082007-08-04 12:11  gb
609
610        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
611
6122007-08-03 15:10  gb
613
614        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
615
6162007-08-03 10:10  gb
617
618        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
619        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
620
6212007-08-03 09:10  gb
622
623        * level-0/l0-array.lisp: Define list-to-vector.
624
6252007-08-02 07:16  gb
626
627        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
628        #/changeFont:; use targeted messages.  Ensure that font panel picks
629        up the right font.
630
6312007-08-02 07:16  gb
632
633        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
634        default.
635
6362007-08-02 07:15  gb
637
638        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
639        view, echo area) unselectable when activating via Hemlock command.
640        Text views don't use font panel by default; enable/disable font
641        panel when setting text color.
642
6432007-08-02 07:14  gb
644
645        * cocoa-ide/.cvsignore: New.
646
6472007-08-02 07:13  gb
648
649        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
650        CREATE-INTERFACES.
651
6522007-08-02 07:12  gb
653
654        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
655
6562007-08-02 07:11  gb
657
658        * library/parse-ffi.lisp: Don't be verbose about explict struct
659        returns.
660
6612007-08-02 07:10  gb
662
663        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
664        anymore.
665
6662007-07-31 19:10  gb
667
668        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
669        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
670
6712007-07-31 07:12  gb
672
673        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
674        to #o644 (not #o666); make sure that it's actually used when
675        creating the image (even if not prepending a kernel to the image.)
676
6772007-07-31 07:11  gb
678
679        * level-1/l1-application.lisp: When processing --version option,
680        don't write to *terminal-io* (which doesn't exist yet.)
681
6822007-07-22 23:50  gb
683
684        * release-notes.txt: Add more stuff.
685
6862007-07-22 23:11  gb
687
688        * level-1/version.lisp: Bump.
689
6902007-07-22 23:10  gb
691
692        * release-notes.txt: Update for 1.1-pre-070722.
693
6942007-07-22 21:11  gb
695
696        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
697
6982007-07-22 21:10  gb
699
700        * cocoa-ide/README: New file.
701
7022007-07-22 18:51  gb
703
704        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
705        package.
706
7072007-07-22 18:50  gb
708
709        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
710
7112007-07-22 18:49  gb
712
713        * level-1/version.lisp: Bump.
714
7152007-07-22 18:48  gb
716
717        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
718        Allocate callback trampolines via mmap on ppc, too.
719
7202007-07-22 18:47  gb
721
722        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
723        RUN-PROGRAM to merge-pathnames.
724
7252007-07-22 18:46  gb
726
727        * level-1/l1-utils.lisp: Don't define BEEP.
728
7292007-07-22 18:46  gb
730
731        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
732        was counting chars (nchars) twice.
733
7342007-07-22 18:45  gb
735
736        * level-1/l1-streams.lisp: selection-stream changes.
737
7382007-07-22 18:44  gb
739
740        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
741        about restarts in backtrace context.
742
7432007-07-22 18:43  gb
744
745        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
746        can be overridden.
747
7482007-07-22 18:42  gb
749
750        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
751        *MODULE-SEARCH-PATH*.
752
7532007-07-22 18:41  gb
754
755        * level-1/l1-format.lisp: Handling of * format directive when
756        dealing with circularity screws up other things that expect
757        *FORMAT-ARGUMENTS* to share structure with
758        *FORMAT-ORIGINAL-ARGUMENTS*.
759
7602007-07-22 18:40  gb
761
762        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
763        ENSURE-DIRECTORY-NAMESTRING.
764
7652007-07-22 18:40  gb
766
767        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
768        interactive break.
769
7702007-07-22 18:39  gb
771
772        * level-1/l1-error-system.lisp: Stream error context stuff.
773
7742007-07-22 18:38  gb
775
776        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
777        (e.g., as NSExceptions.)
778
7792007-07-22 18:37  gb
780
781        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
782        CLASS-SLOT-INITARGS.
783
7842007-07-22 18:36  gb
785
786        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
787        allocation stuff (which uses mmap to ensure that the callback is in
788        executable memory) here, since it'll be needed on ppc64 leopard, at
789        least.
790
7912007-07-22 18:35  gb
792
793        * level-1/l1-application.lisp: Argument handling and interactive
794        stream initialization happens in a :before method on
795        (toplevel-function application).
796
7972007-07-22 18:34  gb
798
799        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
800        special args/locals, too.
801
8022007-07-22 18:33  gb
803
804        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
805        for backtrace/inspect someday.
806
8072007-07-22 18:33  gb
808
809        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
810
8112007-07-22 18:32  gb
812
813        * lib/macros.lisp: Callbacks that try to do magic foreign error
814        stuff use HANDLER-BIND, not HANDLER-CASE.
815       
816        Other callback-changes to reduce incidental consing sometimes.
817
8182007-07-22 18:31  gb
819
820        * lib/backtrace.lisp: %show-args-and-locals,
821        %stack-frames-in-context: changes for new backtrace presentation.
822
8232007-07-22 18:30  gb
824
825        * lib/compile-ccl.lisp: Remove some duplicate definitions.
826
8272007-07-22 18:29  gb
828
829        * lib/describe.lisp: Some (signigicant) stack-frame changes.
830
8312007-07-22 18:28  gb
832
833        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
834
8352007-07-22 18:27  gb
836
837        * lib/arglist.lisp: Provide -some- arglist info for special
838        operators.  ARG-NAMES-FROM-MAP.
839
8402007-07-22 18:27  gb
841
842        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
843
8442007-07-22 18:26  gb
845
846        * lib/source-files.lisp: Comment formatting.
847
8482007-07-22 18:25  gb
849
850        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
851        to provide context.
852
8532007-07-22 18:24  gb
854
855        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
856        get confused by null register values, etc.
857
8582007-07-22 18:23  gb
859
860        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
861        not ppc32/ppc64.
862
8632007-07-22 18:22  gb
864
865        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
866        64-bit key-scrambling stuff.
867
8682007-07-22 18:21  gb
869
870        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
871
8722007-07-22 18:21  gb
873
874        * level-0/l0-utils.lisp: s32->u32, u32->s32.
875
8762007-07-22 18:20  gb
877
878        * level-0/l0-error.lisp: foreign exception error stuff.
879
8802007-07-22 18:19  gb
881
882        * level-1/l1-sockets.lisp: Sockets created with :format :binary
883        don't have element-type of character, though this crap is all
884        pretty nebulous.
885
8862007-07-22 18:18  gb
887
888        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
889
8902007-07-22 18:17  gb
891
892        * library/pty.lisp: set-pty-raw.
893
8942007-07-22 18:16  gb
895
896        * library/hemlock.lisp: Moved elsewhere.
897
8982007-07-22 18:15  gb
899
900        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
901        frames.
902
9032007-07-22 18:14  gb
904
905        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
906
9072007-07-22 18:14  gb
908
909        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
910        exception bit on interrupt.
911
9122007-07-22 18:13  gb
913
914        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
915        tcr flag bits, including new one for foreign exceptions.
916
9172007-07-22 18:12  gb
918
919        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
920
9212007-07-22 18:11  gb
922
923        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
924        exceptions.
925
9262007-07-22 18:10  gb
927
928        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
929        stack for pthread.  Foreign exception callbacks: put some 0s on the
930        stack for callback.
931
9322007-07-22 18:09  gb
933
934        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
935
9362007-07-22 18:08  gb
937
938        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
939        ensure_stack_limit(): if stack size is constrained by limits, don't
940        exceed those limits.
941
9422007-07-22 18:08  gb
943
944        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
945
9462007-07-22 18:07  gb
947
948        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
949
9502007-07-22 18:06  gb
951
952        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
953
9542007-07-22 18:03  gb
955
956        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
957        OpenMCL.app/Contents/MacOS/dppccl,
958        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
959        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
960        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
961        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
962        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
963        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
964        ib,
965        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
966        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
967        cts.nib,
968        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
969        lasses.nib,
970        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
971        nfo.nib,
972        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
973        eyedobjects.nib,
974        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
975        nib,
976        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
977        ,
978        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
979        ects.nib,
980        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
981        .nib,
982        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
983        b,
984        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
985        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
986        OpenMCL.app/Contents/Resources/Help/index.html,
987        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
988        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
989        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
990        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
991        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
992        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
993        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
994        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
995        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
996        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
997        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
998        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
999        rings,
1000        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1001        /classes.nib,
1002        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1003        /info.nib,
1004        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1005        /keyedobjects.nib,
1006        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1007        ctor.nib/classes.nib,
1008        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1009        ctor.nib/info.nib,
1010        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1011        ctor.nib/keyedobjects.nib,
1012        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1013        b/classes.nib,
1014        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1015        b/info.nib,
1016        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1017        b/keyedobjects.nib,
1018        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1019        ib/classes.nib,
1020        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1021        ib/info.nib,
1022        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1023        ib/keyedobjects.nib,
1024        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1025        ib/classes.nib,
1026        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1027        ib/info.nib,
1028        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1029        ib/keyedobjects.nib,
1030        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1031        nib/classes.nib,
1032        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1033        nib/info.nib,
1034        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1035        nib/keyedobjects.nib,
1036        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1037        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1038        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1039        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1040        cocoa-ide/hemlock/hemlock11.cursor,
1041        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1042        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1043        cocoa-ide/hemlock/doc/.cvsignore,
1044        cocoa-ide/hemlock/doc/cim/.cvsignore,
1045        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1046        cocoa-ide/hemlock/doc/cim/cim.mss,
1047        cocoa-ide/hemlock/doc/misc/.cvsignore,
1048        cocoa-ide/hemlock/doc/misc/compilation.order,
1049        cocoa-ide/hemlock/doc/misc/hemlock.log,
1050        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1051        cocoa-ide/hemlock/doc/misc/notes.txt,
1052        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1053        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1054        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1055        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1056        cocoa-ide/hemlock/doc/user/.cvsignore,
1057        cocoa-ide/hemlock/doc/user/commands.mss,
1058        cocoa-ide/hemlock/doc/user/intro.mss,
1059        cocoa-ide/hemlock/doc/user/lisp.mss,
1060        cocoa-ide/hemlock/doc/user/mail.mss,
1061        cocoa-ide/hemlock/doc/user/netnews.mss,
1062        cocoa-ide/hemlock/doc/user/special-modes.mss,
1063        cocoa-ide/hemlock/doc/user/user.mss,
1064        cocoa-ide/hemlock/maint/.cvsignore,
1065        cocoa-ide/hemlock/maint/publish,
1066        cocoa-ide/hemlock/resources/.cvsignore,
1067        cocoa-ide/hemlock/resources/XKeysymDB,
1068        cocoa-ide/hemlock/resources/mh-scan,
1069        cocoa-ide/hemlock/resources/spell-dictionary.text,
1070        cocoa-ide/hemlock/src/.cvsignore,
1071        cocoa-ide/hemlock/src/bindings-gb.lisp,
1072        cocoa-ide/hemlock/src/bindings.lisp,
1073        cocoa-ide/hemlock/src/buffer.lisp,
1074        cocoa-ide/hemlock/src/charmacs.lisp,
1075        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1076        cocoa-ide/hemlock/src/command.lisp,
1077        cocoa-ide/hemlock/src/comments.lisp,
1078        cocoa-ide/hemlock/src/completion.lisp,
1079        cocoa-ide/hemlock/src/cursor.lisp,
1080        cocoa-ide/hemlock/src/decls.lisp,
1081        cocoa-ide/hemlock/src/defsyn.lisp,
1082        cocoa-ide/hemlock/src/doccoms.lisp,
1083        cocoa-ide/hemlock/src/echo.lisp,
1084        cocoa-ide/hemlock/src/echocoms.lisp,
1085        cocoa-ide/hemlock/src/edit-defs.lisp,
1086        cocoa-ide/hemlock/src/filecoms.lisp,
1087        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1088        cocoa-ide/hemlock/src/font.lisp,
1089        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1090        cocoa-ide/hemlock/src/htext1.lisp,
1091        cocoa-ide/hemlock/src/htext2.lisp,
1092        cocoa-ide/hemlock/src/htext3.lisp,
1093        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1094        cocoa-ide/hemlock/src/indent.lisp,
1095        cocoa-ide/hemlock/src/interp.lisp,
1096        cocoa-ide/hemlock/src/kbdmac.lisp,
1097        cocoa-ide/hemlock/src/key-event.lisp,
1098        cocoa-ide/hemlock/src/keysym-defs.lisp,
1099        cocoa-ide/hemlock/src/killcoms.lisp,
1100        cocoa-ide/hemlock/src/line.lisp,
1101        cocoa-ide/hemlock/src/linimage.lisp,
1102        cocoa-ide/hemlock/src/lispdep.lisp,
1103        cocoa-ide/hemlock/src/lispmode.lisp,
1104        cocoa-ide/hemlock/src/listener.lisp,
1105        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1106        cocoa-ide/hemlock/src/modeline.lisp,
1107        cocoa-ide/hemlock/src/morecoms.lisp,
1108        cocoa-ide/hemlock/src/package.lisp,
1109        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1110        cocoa-ide/hemlock/src/register.lisp,
1111        cocoa-ide/hemlock/src/ring.lisp,
1112        cocoa-ide/hemlock/src/rompsite.lisp,
1113        cocoa-ide/hemlock/src/search1.lisp,
1114        cocoa-ide/hemlock/src/search2.lisp,
1115        cocoa-ide/hemlock/src/searchcoms.lisp,
1116        cocoa-ide/hemlock/src/srccom.lisp,
1117        cocoa-ide/hemlock/src/streams.lisp,
1118        cocoa-ide/hemlock/src/struct.lisp,
1119        cocoa-ide/hemlock/src/syntax.lisp,
1120        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1121        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1122        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1123        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1124        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1125        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1126        cocoa-ide/hemlock/src/archive/bufed.lisp,
1127        cocoa-ide/hemlock/src/archive/debug.lisp,
1128        cocoa-ide/hemlock/src/archive/dired.lisp,
1129        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1130        cocoa-ide/hemlock/src/archive/display.lisp,
1131        cocoa-ide/hemlock/src/archive/dylan.lisp,
1132        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1133        cocoa-ide/hemlock/src/archive/group.lisp,
1134        cocoa-ide/hemlock/src/archive/highlight.lisp,
1135        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1136        cocoa-ide/hemlock/src/archive/input.lisp,
1137        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1138        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1139        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1140        cocoa-ide/hemlock/src/archive/mh.lisp,
1141        cocoa-ide/hemlock/src/archive/netnews.lisp,
1142        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1143        cocoa-ide/hemlock/src/archive/pascal.lisp,
1144        cocoa-ide/hemlock/src/archive/rcs.lisp,
1145        cocoa-ide/hemlock/src/archive/screen.lisp,
1146        cocoa-ide/hemlock/src/archive/scribe.lisp,
1147        cocoa-ide/hemlock/src/archive/shell.lisp,
1148        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1149        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1150        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1151        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1152        cocoa-ide/hemlock/src/archive/srccom.lisp,
1153        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1154        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1155        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1156        cocoa-ide/hemlock/src/archive/window.lisp,
1157        cocoa-ide/hemlock/src/archive/winimage.lisp,
1158        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1159        cocoa-ide/hemlock/src/elisp/.cvsignore,
1160        cocoa-ide/hemlock/src/elisp/base.lisp,
1161        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1162        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1163        cocoa-ide/hemlock/src/elisp/compile.lisp,
1164        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1165        cocoa-ide/hemlock/src/elisp/implementation-needed,
1166        cocoa-ide/hemlock/src/elisp/internals.lisp,
1167        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1168        cocoa-ide/hemlock/src/elisp/packages.lisp,
1169        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1170        cocoa-ide/hemlock/src/spell/.cvsignore,
1171        cocoa-ide/hemlock/src/spell/build.lisp,
1172        cocoa-ide/hemlock/src/spell/classes.lisp,
1173        cocoa-ide/hemlock/src/spell/constants.lisp,
1174        cocoa-ide/hemlock/src/spell/correlate.lisp,
1175        cocoa-ide/hemlock/src/spell/flags.lisp,
1176        cocoa-ide/hemlock/src/spell/hashing.lisp,
1177        cocoa-ide/hemlock/src/spell/io.lisp,
1178        cocoa-ide/hemlock/src/spell/package.lisp,
1179        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1180        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1181        cocoa-ide/hemlock/src/spell/spell.asd,
1182        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1183        cocoa-ide/hemlock/src/tty/.cvsignore,
1184        cocoa-ide/hemlock/src/tty/termcap.lisp,
1185        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1186        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1187        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1188        cocoa-ide/hemlock/src/wire/.cvsignore,
1189        cocoa-ide/hemlock/src/wire/Notes,
1190        cocoa-ide/hemlock/src/wire/package.lisp,
1191        cocoa-ide/hemlock/src/wire/port.lisp,
1192        cocoa-ide/hemlock/src/wire/remote.lisp,
1193        cocoa-ide/hemlock/src/wire/wire.lisp,
1194        cocoa-ide/hemlock/unused/.cvsignore,
1195        cocoa-ide/hemlock/unused/bit-stream.lisp,
1196        cocoa-ide/hemlock/unused/clx-ext.lisp,
1197        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1198        cocoa-ide/hemlock/unused/gosmacs.lisp,
1199        cocoa-ide/hemlock/unused/hacks.lisp,
1200        cocoa-ide/hemlock/unused/hemcom.lisp,
1201        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1202        cocoa-ide/hemlock/unused/keytran.lisp,
1203        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1204        cocoa-ide/hemlock/unused/spell-build.lisp,
1205        cocoa-ide/hemlock/unused/struct-ed.lisp,
1206        cocoa-ide/hemlock/unused/tty-stream.lisp,
1207        cocoa-ide/hemlock/website/.cvsignore,
1208        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1209        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1210        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1211        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1212        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1213        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1214        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1215        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1216        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1217        examples/objc-clos.lisp, examples/objc-package.lisp,
1218        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1219        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1220        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1221        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1222        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1223        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1224        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1225        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1226        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1227        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1228        hemlock/doc/misc/perq-hemlock.log,
1229        hemlock/doc/misc/things-to-do.txt,
1230        hemlock/doc/scribe-converter/.cvsignore,
1231        hemlock/doc/scribe-converter/NOTES,
1232        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1233        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1234        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1235        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1236        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1237        hemlock/maint/publish, hemlock/resources/.cvsignore,
1238        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1239        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1240        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1241        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1242        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1243        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1244        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1245        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1246        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1247        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1248        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1249        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1250        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1251        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1252        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1253        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1254        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1255        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1256        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1257        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1258        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1259        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1260        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1261        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1262        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1263        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1264        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1265        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1266        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1267        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1268        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1269        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1270        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1271        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1272        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1273        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1274        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1275        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1276        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1277        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1278        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1279        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1280        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1281        hemlock/src/table.lisp, hemlock/src/text.lisp,
1282        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1283        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1284        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1285        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1286        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1287        hemlock/src/elisp/base.lisp,
1288        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1289        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1290        hemlock/src/elisp/hemlock-shims.lisp,
1291        hemlock/src/elisp/implementation-needed,
1292        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1293        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1294        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1295        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1296        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1297        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1298        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1299        hemlock/src/spell/spell-aug.lisp,
1300        hemlock/src/spell/spell-dictionary.text,
1301        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1302        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1303        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1304        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1305        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1306        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1307        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1308        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1309        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1310        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1311        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1312        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1313        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1314        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1315        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1316        objc-bridge/fake-cfbundle-path.lisp,
1317        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1318        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1319        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1320        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1321        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1322        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1323        things moved from "examples" to one of these directories,
1324        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1325        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1326        "ide-1.0" branch for details.
1327
13282007-06-15 19:10  gb
1329
1330        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1331
13322007-06-15 14:10  gb
1333
1334        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1335        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1336        (shouldn't get here if we're catching that upstream, but ...)
1337
13382007-06-01 08:34  gb
1339
1340        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1341        caught most places.
1342
13432007-06-01 08:33  gb
1344
1345        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1346        if it can't find the package, accepts a stream argument in order to
1347        signal that type of error.  (Note that this has never been
1348        recoverable in general, especially in the case where the input
1349        stream is *terminal-io* or shares its input stream.)
1350
13512007-06-01 08:32  gb
1352
1353        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1354        reporting themselves.
1355
13562007-06-01 08:31  gb
1357
1358        * level-1/l1-error-system.lisp: Define and use
1359        STREAM-ERROR-CONTEXT.
1360
13612007-06-01 08:30  gb
1362
1363        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1364        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1365        probably have been caught earlier.
1366
13672007-06-01 08:29  gb
1368
1369        * level-1/l1-streams.lisp: Try to provide some context -
1370        "surrounding characters" - for reader/stream errors on character
1371        input streams.
1372
13732007-06-01 08:28  gb
1374
1375        * level-1/l1-unicode.lisp: Get number of args right in call to
1376        STRING-ENCODED-LENGTH-IN-BYTES from
1377        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1378
13792007-06-01 08:28  gb
1380
1381        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1382        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1383        order.  Both functions are usually open-coded (and the inlined
1384        versions seem to be OK), but the ObjC bridge funcalls these
1385        functions when getting/setting foreign slots of the appropriate
1386        type.
1387
13882007-06-01 08:27  gb
1389
1390        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1391        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1392        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1393
13942007-06-01 08:26  gb
1395
1396        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1397        all of it" case in %CSTR-POINTER; deal with all other cases in
1398        %CSTR-SEGMENT-POINTER.
1399
14002007-06-01 08:25  gb
1401
1402        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1403        under return address, exception callback frame (xcf) on stack.
1404       
1405        handle-udf-call: don't try to fix up the stack if we try to
1406        continue; let kernel deal with this after the callback.
1407
14082007-06-01 08:24  gb
1409
1410        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1411        return address on the top of the stack when this is entered
1412        (#-of-arguments traps).  Put it in the right place when building
1413        the frame.
1414       
1415        create_exception_callback_frame: look for tra on top of lisp stack,
1416        not in register (usually.)
1417       
1418        handle_error(): if we return after calling out for int #xc7 (call
1419        to undefined function), fix up the stack and other registers so
1420        that we can return the value(s) returned by the lisp-side handler.
1421        (It's hard for the lisp-side handler to do the stack manipulation,
1422        because of the xcf on the stack and because of the need to deal
1423        with the return address on the stack.)
1424
14252007-06-01 08:23  gb
1426
1427        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1428        lea/jmp: push ra0 on stack before trap, for the benefit of
1429        create_exception_callback_frame().
1430
14312007-06-01 08:22  gb
1432
1433        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1434
14352007-06-01 08:22  gb
1436
1437        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1438        write a BOM here.
1439
14402007-06-01 08:21  gb
1441
1442        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1443        since the switch to the new tra scheme.
1444
14452007-06-01 08:19  gb
1446
1447        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1448        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1449
14502007-05-12 18:27  gb
1451
1452        * release-notes.txt: Update for 070512.
1453
14542007-05-12 18:27  gb
1455
1456        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1457
14582007-05-12 18:26  gb
1459
1460        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1461
14622007-05-12 18:25  gb
1463
1464        * level-1/version.lisp: Bump.
1465
14662007-05-12 18:24  gb
1467
1468        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1469        heap by more than what we need if GC is obviously disabled.
1470
14712007-05-12 18:23  gb
1472
1473        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1474        suppress overflow checking in some cases.
1475
14762007-05-12 18:22  gb
1477
1478        * compiler/X86/x862.lisp: Fix indentation.
1479
14802007-05-12 18:22  gb
1481
1482        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1483        beyond segment if GC (obviously) disabled.
1484
14852007-05-12 18:21  gb
1486
1487        * level-1/l1-streams.lisp: Fix typo.
1488
14892007-05-12 18:20  gb
1490
1491        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1492        separate character encode/decode limits.
1493
14942007-05-12 18:19  gb
1495
1496        * level-1/l1-unicode.lisp: Start to bootstrap separate
1497        encode/decode limits.
1498
14992007-05-12 18:18  gb
1500
1501        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1502        nonsense when referencing mxcsr in debug_show_fpu().
1503
15042007-05-12 18:17  gb
1505
1506        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1507        earlier.  Sheesh.
1508
15092007-05-12 18:17  gb
1510
1511        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1512
15132007-05-12 18:16  gb
1514
1515        * level-1/version.lisp: Bump, for now.
1516
15172007-05-12 18:15  gb
1518
1519        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1520        ABI version.
1521
15222007-05-12 18:14  gb
1523
1524        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1525        new TRA interpretation.
1526
15272007-05-12 18:13  gb
1528
1529        * lisp-kernel/x86-spjump64.s: nmkunwind.
1530
15312007-05-12 18:12  gb
1532
1533        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1534        nMake_Catch handles return addresses on stack.  repret, for use
1535        when a one-byte ret instruction is a branch target or is preceded
1536        by a conditional branch.
1537
15382007-05-12 18:11  gb
1539
1540        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1541        exception contexts.
1542
15432007-05-12 18:11  gb
1544
1545        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1546        exception context; new TRA handling.
1547
15482007-05-12 18:10  gb
1549
1550        * lisp-kernel/x86-exceptions.c: New tra handling.
1551        new_heap_segment: try to avoid requesting too much when user sets
1552        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1553        down to fault handler, don't call out to lisp on faults in foreign
1554        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1555
15562007-05-12 18:08  gb
1557
1558        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1559        assignments.
1560
15612007-05-12 18:07  gb
1562
1563        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1564        sequence.
1565
15662007-05-12 18:06  gb
1567
1568        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1569
15702007-05-12 18:05  gb
1571
1572        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1573        that're branch targets or that follow conditional branches.
1574
15752007-05-12 18:04  gb
1576
1577        * lisp-kernel/thread_manager.c: Conditionalize for
1578        USE_MACH_EXCEPTION_LOCK.
1579
15802007-05-12 18:03  gb
1581
1582        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1583
15842007-05-12 18:02  gb
1585
1586        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1587        explicit blr.
1588
15892007-05-12 18:01  gb
1590
1591        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1592         Gee, I hope that works.
1593
15942007-05-12 18:00  gb
1595
1596        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1597
15982007-05-12 17:59  gb
1599
1600        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1601        using the mechanism.
1602
16032007-05-12 17:59  gb
1604
1605        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1606        extend with (possibly very large) lisp_heap_gc_threshold, try
1607        smaller values.
1608       
1609        Pass "old_valence" to exception handlers; don't call out to lisp on
1610        memory faults from foreign code.
1611
16122007-05-12 17:58  gb
1613
1614        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1615
16162007-05-12 17:57  gb
1617
1618        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1619        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1620        be correct/necessary.
1621
16222007-05-12 17:56  gb
1623
1624        * lisp-kernel/lisp-debug.c: lisp register display changes for
1625        x86-64.  Get FPU display working on x86-64.
1626
16272007-05-12 17:55  gb
1628
1629        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1630        calling-sequence change.
1631
16322007-05-12 17:54  gb
1633
1634        * lisp-kernel/image.h: New ABI version.
1635
16362007-05-12 17:54  gb
1637
1638        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1639        could; if only I could ...
1640
16412007-05-12 17:53  gb
1642
1643        * lib/x8664env.lisp: More imm temps! (one more ...).
1644
16452007-05-12 17:52  gb
1646
1647        * lib/nfcomp.lisp: Bump current fasl version.
1648
16492007-05-12 17:51  gb
1650
1651        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1652        in cross-compiled code.
1653
16542007-05-12 17:50  gb
1655
1656        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1657        interface dir, because of cross-compilation issues.
1658
16592007-05-12 17:49  gb
1660
1661        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1662        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1663
16642007-05-12 17:49  gb
1665
1666        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1667        transition.
1668
16692007-05-12 17:48  gb
1670
1671        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1672
16732007-05-12 17:47  gb
1674
1675        * lib/encapsulate.lisp: Add a comment.
1676
16772007-05-12 17:46  gb
1678
1679        * library/hash-cons.lisp: Very small lap change.
1680
16812007-05-12 17:45  gb
1682
1683        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1684        %FIXNUM-SET-MACPTR elsewhere.
1685
16862007-05-12 17:44  gb
1687
1688        * level-1/linux-files.lisp: File-mapped vectors.
1689
16902007-05-12 17:43  gb
1691
1692        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1693        :new-version if pathname-version of filename is :NEWEST.
1694
16952007-05-12 17:43  gb
1696
1697        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1698        with a CONDITION object.
1699
17002007-05-12 17:42  gb
1701
1702        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1703
17042007-05-12 17:41  gb
1705
1706        * level-1/l1-pathnames.lisp: If there's no host component in a
1707        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1708
17092007-05-12 17:40  gb
1710
1711        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1712        listener stack sizes now static.
1713
17142007-05-12 17:39  gb
1715
1716        * level-1/l1-files.lisp: Pathname arcana.
1717
17182007-05-12 17:38  gb
1719
1720        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1721        SIGINT.
1722
17232007-05-12 17:38  gb
1724
1725        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1726        changes.
1727
17282007-05-12 17:37  gb
1729
1730        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1731       
1732        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1733
17342007-05-12 17:36  gb
1735
1736        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1737
17382007-05-12 17:35  gb
1739
1740        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1741        here.
1742
17432007-05-12 17:34  gb
1744
1745        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1746
17472007-05-12 17:33  gb
1748
1749        * level-0/X86/x86-utils.lisp: New calling sequence.
1750
17512007-05-12 17:32  gb
1752
1753        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1754        EQL.
1755
17562007-05-12 17:32  gb
1757
1758        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1759        be careful with %rcx (now %imm2) in shift instructions.
1760
17612007-05-12 17:30  gb
1762
1763        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1764        sequence.
1765
17662007-05-12 17:29  gb
1767
1768        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1769        new-calling-sequence changes.
1770
17712007-05-12 17:27  gb
1772
1773        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1774        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1775        %temp2, and no need to be so careful with it.
1776
17772007-05-12 17:26  gb
1778
1779        * compiler/vinsn.lisp: global label-valued temporaries.
1780
17812007-05-12 17:25  gb
1782
1783        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1784
17852007-05-12 17:24  gb
1786
1787        * compiler/nx0.lisp: Try to do a little type inference for more
1788        flavors of AREF.
1789
17902007-05-12 17:23  gb
1791
1792        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1793        afunc (or equivalent) as a non-nil second value.
1794
17952007-05-12 17:22  gb
1796
1797        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1798        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1799        less nasty.
1800
18012007-05-12 17:21  gb
1802
1803        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1804        calling sequence, new tra/talign scheme.
1805
18062007-05-12 17:21  gb
1807
1808        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1809        rip)).
1810
18112007-05-12 17:20  gb
1812
1813        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1814        rip-relative label refs.
1815
18162007-05-12 17:19  gb
1817
1818        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1819        support :talign directive in vinsn templates.
1820
18212007-05-12 17:18  gb
1822
1823        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1824        is a register ...
1825
18262007-05-12 17:17  gb
1827
1828        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1829        for most things, except calls to subprims that manipulate the
1830        stack.
1831
18322007-05-12 17:16  gb
1833
1834        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1835        cross-compilation with x86-64 targets a little easier, by using a
1836        cross-ftd interface directory.
1837
18382007-05-12 17:16  gb
1839
1840        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1841        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1842        scheme.
1843
18442007-05-12 17:15  gb
1845
1846        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1847        unwind-protect uses nmkunwind (more happens out-of-line.)
1848
18492007-05-12 17:14  gb
1850
1851        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1852
18532007-05-12 17:13  gb
1854
1855        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1856
18572007-05-12 17:12  gb
1858
1859        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1860
18612007-05-12 17:11  gb
1862
1863        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1864        %GET-KERNEL-GLOBAL-PTR actually work.
1865
18662007-05-07 19:10  gb
1867
1868        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1869        returns a CONS, signal the right flavor of TYPE-ERROR if it
1870        doesn't.
1871
18722007-05-05 18:10  gb
1873
1874        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1875        the hash table, it tries to enable the GC before doing so.
1876
18772007-05-04 22:10  gb
1878
1879        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1880        finds in the environment, not just non-nil.
1881
18822007-05-01 18:10  gb
1883
1884        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1885        computation for GC-VERBOSE entry.
1886
18872007-05-01 06:11  gb
1888
1889        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1890        utf-16 variants.
1891       
1892        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1893        function.
1894
18952007-05-01 06:10  gb
1896
1897        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1898        darwin ppc64 thread state structure, just like Apple does.  Can I
1899        blame them for getting this wrong, please ?
1900       
1901        Use the right argument names in ppc64 cmain callback; can't blame
1902        Apple.
1903
19042007-04-30 23:12  gb
1905
1906        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1907        on Darwin, and should probably be removed completely.  Now that
1908        it's explicitly extern, don't try to reference it at runtime on
1909        linuxppc.
1910
19112007-04-30 23:11  gb
1912
1913        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1914        referenced at runtime and explicitly extern, so make sure that it's
1915        initialized on all platforms.
1916
19172007-04-30 23:10  gb
1918
1919        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1920        oxymoron - is specific to Darwin.
1921
19222007-04-21 00:10  gb
1923
1924        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1925        directory after translating logical pathnames; it's generally
1926        meaningless to do PROBE-FILE on the directory component of a
1927        logical pathname.
1928
19292007-04-19 15:10  gb
1930
1931        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1932        if it conflicts with an immediate temporary (we'll need all the imm
1933        temps we have on x86-64.)
1934
19352007-04-17 20:10  gb
1936
1937        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1938        version of recent aset2/aset3 register-conflict changes.
1939
19402007-04-16 15:10  gb
1941
1942        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1943        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1944
19452007-04-16 14:11  gb
1946
1947        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1948        :signed-doublewod.
1949
19502007-04-16 13:10  gb
1951
1952        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1953        Memory-fault errors on PPC, too.
1954
19552007-04-16 04:34  gb
1956
1957        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1958        renaming nonsense.
1959
19602007-04-16 02:12  gb
1961
1962        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1963
19642007-04-16 02:11  gb
1965
1966        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1967
19682007-04-16 02:10  gb
1969
1970        * level-1/l1-error-system.lisp: Change wording of
1971        INVALID-MEMORY-ACCESS error message, a little.
1972
19732007-04-16 01:13  gb
1974
1975        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1976        memory faults.
1977
19782007-04-16 01:12  gb
1979
1980        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1981        now.
1982
19832007-04-16 01:11  gb
1984
1985        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1986        INVALID-MEMORY-ACCESS condition.
1987
19882007-04-16 01:10  gb
1989
1990        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1991
19922007-04-15 19:11  gb
1993
1994        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1995        aset2/aset3 changes.
1996
19972007-04-15 19:10  gb
1998
1999        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
2000        it's an imm-reg; we need another imm-reg to do some index
2001        calculations.
2002
20032007-04-14 18:10  gb
2004
2005        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2006        unscramble what it means for an interrupt to be pending on x86-64.
2007
20082007-04-14 00:13  gb
2009
2010        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2011        generated when it is in ... unmentionable OS releases.
2012
20132007-04-14 00:11  gb
2014
2015        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2016        work around laughable Apple ld64 gibberish.
2017
20182007-04-12 02:11  gb
2019
2020        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2021        two-dimensional arrays: need to target specific registers if array
2022        has element type T.
2023
20242007-04-12 02:10  gb
2025
2026        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2027        appropriate, not :x86-64 twice.
2028
20292007-04-11 05:10  gb
2030
2031        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2032        for bivalent streams.
2033       
2034        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2035        maintain the element-type separately, just look in ioblock.
2036        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2037
20382007-04-10 22:10  gb
2039
2040        * lisp-kernel/x86-spentry64.s: Branch at
2041        C(egc_store_node_conditional_success_test) should bracnch
2042        backwards, not forwards.  (This was leading to spurious
2043        "<something> is not a proper list" errors, because the next label
2044        named "0" is in middle of the the _SPprogvsage code that tests for
2045        a proper list.)
2046
20472007-04-10 00:11  gb
2048
2049        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2050        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2051        RLET or equivalent to avoid making GCable pointers for ObjC
2052        dispatch function args; trust the compiler to do that for us.
2053
20542007-04-10 00:10  gb
2055
2056        * examples/bridge.lisp: If any method defined on a message passes a
2057        structure by value, install a compiler macro on the dispatch
2058        function.
2059       
2060        In that compiler, look for apparent calls to know structure
2061        constructors; replace those with calls to the corresponding
2062        initialization function, and stack-allocate a structure instance
2063        around the call.  (Suggested by Kevin Reid, and something that
2064        SEND/SLET did - sort of - that the new approach didn't.)
2065       
2066        Keep track of info about common foreign structs (initializer,
2067        constructor, etc.) to make doing stuff like this easier.
2068
20692007-04-09 16:10  gb
2070
2071        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2072        the result of sending the init message is a null pointer, return a
2073        null pointer.
2074
20752007-04-09 00:10  gb
2076
2077        * release-notes.txt: Update for 070408.
2078       
2079        (Yes, it's 070409 here already ...)
2080
20812007-04-08 15:12  gb
2082
2083        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2084
20852007-04-08 15:10  gb
2086
2087        * xdump/faslenv.lisp: Bump min fasl version.
2088
20892007-04-08 14:11  gb
2090
2091        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2092        jump table, to work around (still more) Apple ld64 nonsense.
2093
20942007-04-08 13:14  gb
2095
2096        * lib/nfcomp.lisp: Bump current fasl version.
2097
20982007-04-08 13:13  gb
2099
2100        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2101
21022007-04-08 13:12  gb
2103
2104        * xdump/faslenv.lisp: Bump max fasl version.
2105
21062007-04-08 13:11  gb
2107
2108        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2109        people who try to build this kernel on an x86 mac will take longer
2110        to realize that that's usually a bad idea.
2111
21122007-04-08 12:09  gb
2113
2114        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2115        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2116        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2117        cocoa-window.lisp, cocoa.lisp:
2118        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2119       
2120        Some changes in font, nsstring stuff to avoid using deprecated
2121        featurs.
2122
21232007-04-08 12:07  gb
2124
2125        * examples/: webkit.lisp, addressbook.lisp:
2126        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2127       
2128        Use OBJC:LOAD-FRAMEWORK.
2129
21302007-04-08 12:06  gb
2131
2132        * examples/tiny.lisp:
2133        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2134
21352007-04-08 12:05  gb
2136
2137        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2138        rubix.lisp:
2139        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2140       
2141        Handle CGFLOAT issues in mouse event handlers.
2142
21432007-04-08 12:04  gb
2144
2145        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2146       
2147        Define "foreign struct classes" for several common structure types
2148        (rectangle, point, size); generate inlined accessors for their
2149        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2150        macros.
2151       
2152        #/ reader macro: reads a string containing "constituent" characters
2153        (including #\:), preserving case.  Does a little bit of
2154        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2155        package.
2156       
2157        Try to deal with cases where foreign type info may be parsed or
2158        unparsed.
2159       
2160        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2161         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2162        message info, tries to determine ambiguity, calls signature
2163        function (possibly after trying to resolve ambiguity.)
2164       
2165        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2166        calling a signature function that knows how to dispatch to SUPER
2167        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2168       
2169        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2170        OBJC-DISPATCH-FUNCTION.
2171       
2172        Handle PROTOCOLs differently in ambiguous SEND.
2173
21742007-04-08 12:04  gb
2175
2176        * examples/objc-runtime.lisp: Compile message send functions per
2177        signature.  Handle vararg message sends, partly at runtime.  INIT
2178        messages just have their signature info precomputed.  Defining a
2179        named OBJC-CLASS makes the class name a static variable whose value
2180        is the class (and likewise for the metaclass.)
2181        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2182        OBJC:DEFMETHOD and support for it.
2183
21842007-04-08 12:03  gb
2185
2186        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2187         Avoid some deprecated C-string stuff (but wimp out and assume
2188        ASCII.) Keep track of objc-class-count, provide
2189        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2190        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2191        etc. elsewhere.
2192
21932007-04-08 12:02  gb
2194
2195        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2196        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2197        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2198        about as lightweight as MAKE-OBJC-INSTANCE.)
2199
22002007-04-08 12:01  gb
2201
2202        * examples/name-translation.lisp:
2203        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2204        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2205
22062007-04-08 12:00  gb
2207
2208        * examples/objc-package.lisp: New file; export more stuff.  Import
2209        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2210        pseudo-GFs.
2211
22122007-04-08 11:59  gb
2213
2214        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2215        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2216        Intern integer types up to 64 bits.
2217
22182007-04-08 11:59  gb
2219
2220        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2221        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2222        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2223        COPY-RECORD.
2224
22252007-04-08 11:58  gb
2226
2227        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2228        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2229        missing brackets.
2230
22312007-04-08 11:57  gb
2232
2233        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2234        not Darwin.  In Darwin, evactuate off of the lisp stack while
2235        interrupts are still disabled.
2236
22372007-04-08 11:56  gb
2238
2239        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2240        (where Apple hasn't yet invented the notion that it needs to be
2241        thread-specific.)
2242
22432007-04-08 11:55  gb
2244
2245        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2246        destroying TCR.
2247
22482007-04-08 11:54  gb
2249
2250        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2251        worked around an old Darwin bug.
2252
22532007-04-08 11:53  gb
2254
2255        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2256
22572007-04-08 11:52  gb
2258
2259        * lisp-kernel/image.c: Don't nuke null pointers.
2260
22612007-04-08 11:52  gb
2262
2263        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2264
22652007-04-08 11:51  gb
2266
2267        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2268        of macptr.domain, macptr.type.
2269
22702007-04-08 11:50  gb
2271
2272        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2273
22742007-04-08 11:49  gb
2275
2276        * library/lispequ.lisp: add pkg.intern-hook to package.
2277
22782007-04-08 11:48  gb
2279
2280        * lib/describe.lisp: Start trying to conditionalize some of the
2281        stack-frame inspector stuff.
2282
22832007-04-08 11:48  gb
2284
2285        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2286        64-bit word components, with FP fields passed in registers.  This
2287        requires some special handling ("hybrid" parameters) in the
2288        compiler and %FF-CALL.
2289
22902007-04-08 11:47  gb
2291
2292        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2293        endianness.
2294
22952007-04-08 11:46  gb
2296
2297        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2298
22992007-04-08 11:45  gb
2300
2301        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2302        in %SOURCE-FILES-LIKE-EM.
2303
23042007-04-08 11:44  gb
2305
2306        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2307
23082007-04-08 11:43  gb
2309
2310        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2311        MAKE-XREF-ENTRY.
2312
23132007-04-08 11:43  gb
2314
2315        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2316
23172007-04-08 11:42  gb
2318
2319        * level-1/version.lisp: Bump; new snapshots tomorrow.
2320
23212007-04-08 11:41  gb
2322
2323        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2324
23252007-04-08 11:40  gb
2326
2327        * level-1/linux-files.lisp: Very long timeout for
2328        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2329        if we have to wait at all.
2330       
2331        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2332       
2333        Make PIPE code slightly easier to read.
2334
23352007-04-08 11:39  gb
2336
2337        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2338
23392007-04-08 11:38  gb
2340
2341        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2342        CHARACTER-ENCODING, use it to determine number/sequence of octets
2343        used to encode NUL.
2344
23452007-04-08 11:38  gb
2346
2347        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2348       
2349        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2350        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2351        so that echoing looks more natural.
2352
23532007-04-08 11:37  gb
2354
2355        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2356        object.
2357
23582007-04-08 11:36  gb
2359
2360        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2361        changes manually and most of the effects were cosmetic.
2362        TOPLEVEL-PRINT takes an output stream arg.
2363
23642007-04-08 11:35  gb
2365
2366        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2367
23682007-04-08 11:34  gb
2369
2370        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2371        interrupt is obviously pending.
2372
23732007-04-08 11:33  gb
2374
2375        * level-1/l1-io.lisp: Change pointer printing.
2376
23772007-04-08 11:33  gb
2378
2379        * level-1/l1-init.lisp: +NULL-PTR+.
2380
23812007-04-08 11:31  gb
2382
2383        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2384        preferred name for DEFGLOBAL.
2385
23862007-04-08 11:30  gb
2387
2388        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2389        for DEFGLOBAL.
2390       
2391        Mechanism for associating a (built-in) class with a foreign type
2392        ordinal.
2393
23942007-04-08 11:29  gb
2395
2396        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2397        for DEFGLOBAL.
2398       
2399        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2400        likely the global value of some symbol.)
2401
24022007-04-08 11:28  gb
2403
2404        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2405        DEFGLOBAL.
2406       
2407        Standard CL streams now bound per-thread.
2408       
2409        Install standard foreign types here, not every time that
2410        FOREIGN-TYPES is loaded.
2411       
2412        Canonicalize foreign type ordinals as soon as we can.  (This is
2413        part of a scheme to give foreign types "ordinals' that can be used
2414        to assert pointer types; we need some of those ordinal numbers to
2415        be pre-assigned, since we can't reference foreign types early in
2416        the cold load.)
2417
24182007-04-08 11:27  gb
2419
2420        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2421        DEFGLOBAL.  GCABLE-PTR-P.
2422
24232007-04-07 21:25  gb
2424
2425        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2426         Handle maintenance of auto-export packages differently.
2427        $fasl-timm just needs an :int, not a :long.
2428
24292007-04-07 21:24  gb
2430
2431        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2432        "functional", not random symbol guts.
2433
24342007-04-07 21:23  gb
2435
2436        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2437        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2438        interrupts are re-enabled.
2439
24402007-04-07 21:22  gb
2441
2442        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2443
24442007-04-07 21:20  gb
2445
2446        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2447        %PTR-STORE-FIXNUM-CONDITIONAL.
2448
24492007-04-07 21:19  gb
2450
2451        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2452        in DarwinPPC64 #'%FF-CALL.
2453
24542007-04-07 21:19  gb
2455
2456        * compiler/optimizers.lisp: When trying to infer result type of
2457        MAKE-ARRAY call, unquote quoted type specifier.
2458       
2459        Strength-reduce FLOAT when second argument is of known type.
2460
24612007-04-07 21:18  gb
2462
2463        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2464
24652007-04-07 21:17  gb
2466
2467        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2468        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2469        Parse %short-float, %double-float when no "result" arg; can at
2470        least try to constant-fold late and/or do some cases if we have
2471        more type info.
2472
24732007-04-07 21:16  gb
2474
2475        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2476        be bound" error message.
2477
24782007-04-07 21:15  gb
2479
2480        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2481        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2482
24832007-04-07 21:14  gb
2484
2485        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2486        remaning GPR/FPR counts even if arg is "simple" and passes straight
2487        through to %FF-CALL.
2488
24892007-04-07 21:13  gb
2490
2491        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2492        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2493        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2494        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2495        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2496
24972007-04-07 21:12  gb
2498
2499        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2500        for Darwin structure-passing ABI.
2501
25022007-04-07 21:10  gb
2503
2504        * OpenMCL.app/Contents/Resources/English.lproj/:
2505        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2506        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2507        OpenmclInspector.nib/keyedobjects.nib,
2508        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2509        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2510        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2511        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2512        representation, not binary.
2513
25142007-04-06 22:10  gb
2515
2516        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2517        (RLIMIT_AS) current resource limit to max limit, since some distros
2518        limit it.
2519
25202007-04-03 03:11  gb
2521
2522        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2523        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2524
25252007-04-02 22:10  gb
2526
2527        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2528        arg in utf-16 encode, missing #x in little-endian bom-marker
2529        definition.)
2530
25312007-03-14 23:10  gb
2532
2533        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2534
25352007-03-14 05:11  gb
2536
2537        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2538        generate-callback-bindings.
2539
25402007-03-13 06:10  gb
2541
2542        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2543
25442007-03-13 03:58  gb
2545
2546        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2547
25482007-03-12 05:11  gb
2549
2550        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2551        little.
2552
25532007-03-12 05:10  gb
2554
2555        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2556        %EXTERNAL-CALL-EXPANDER.
2557
25582007-03-12 05:09  gb
2559
2560        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2561        encapsulation, and a lock.
2562
25632007-03-12 05:08  gb
2564
2565        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2566        thread-local.
2567
25682007-03-12 02:25  gb
2569
2570        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2571        deal with variations in Mach behavior: "exception" may be
2572        EXC_BAD_ACCESS when an illegal instruction causes a "general
2573        protection fault".
2574
25752007-03-09 15:56  gb
2576
2577        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2578        NIL ...)
2579
25802007-03-09 00:01  gb
2581
2582        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2583
25842007-03-09 00:00  gb
2585
2586        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2587        *OPEN-FILE-STREAMS*.
2588
25892007-03-09 00:00  gb
2590
2591        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2592        open-file-streams.
2593
25942007-03-08 23:59  gb
2595
2596        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2597        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2598
25992007-03-08 23:58  gb
2600
2601        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2602        associated with it.
2603
26042007-03-08 23:57  gb
2605
2606        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2607
26082007-03-08 23:47  gb
2609
2610        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2611        hash-table, it fills the hash-table vector with "free" markers.
2612        (There may already be lots of "deleted" markers in the table.)
2613
26142007-03-08 22:26  gb
2615
2616        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2617
26182007-03-08 22:24  gb
2619
2620        * lib/numbers.lisp: printing random-state: don't shift seeds.
2621
26222007-03-08 22:24  gb
2623
2624        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2625
26262007-03-08 22:24  gb
2627
2628        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2629
26302007-03-08 22:23  gb
2631
2632        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2633
26342007-03-08 22:23  gb
2635
2636        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2637        %next-random-pair.
2638
26392007-03-08 22:22  gb
2640
2641        * level-0/l0-numbers.lisp: And, while we're at it: do the
2642        next-random-seed permutation in %next-random-pair, which accepts
2643        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2644        in lisp on 64-bit platforms.
2645
26462007-03-08 22:20  gb
2647
2648        * level-0/l0-numbers.lisp: Don't shift random seeds.
2649
26502007-03-08 03:30  gb
2651
2652        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2653        rather than >= #x80, because of the new way that
2654        uuo-error-slot-unbound is encoded.
2655
26562007-03-08 03:28  gb
2657
2658        * compiler/X86/x86-disassemble.lisp: Recognize
2659        uuo-error-slot-unbound.
2660
26612007-03-08 03:28  gb
2662
2663        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2664        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2665
26662007-03-07 08:29  gb
2667
2668        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2669
26702007-03-07 07:45  gb
2671
2672        * level-1/linux-files.lisp: For #+linux-target, try to use
2673        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2674        if that fails.  (CPU-COUNT is called early in the cold load, before
2675        we can make the file-stream necessary to do the parsing.)
2676
26772007-03-07 07:33  gb
2678
2679        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2680        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2681
26822007-03-07 07:25  gb
2683
2684        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2685        el-bizarro syscall mask, pass the magic number 0x1e as a second
2686        arg, just in case.
2687
26882007-03-07 07:24  gb
2689
2690        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2691        before accessing *OPEN-FILE-STREAMS*.
2692
26932007-03-07 07:23  gb
2694
2695        * level-1/l1-readloop.lisp: Add comment about
2696        *OPEN-FILE-STREAMS-LOCK*.
2697
26982007-03-07 07:23  gb
2699
2700        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2701
27022007-03-07 07:21  gb
2703
2704        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2705        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2706
27072007-03-07 07:05  gb
2708
2709        * xdump/heap-image.lisp: Bump current image version.
2710
27112007-03-07 07:02  gb
2712
2713        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2714        "calls" want an argument in ecx.  Set that arg to 0 for now.
2715
27162007-03-07 07:01  gb
2717
2718        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2719        "real" locks; those updates can be simplified.
2720       
2721        lock_recursive_lock: no (ignored) timeout arg.
2722
27232007-03-07 06:59  gb
2724
2725        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2726        support the old one.
2727
27282007-03-07 06:59  gb
2729
2730        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2731        prototype.  Change declaration of LOCK macro: no null timespec
2732        required.  RECURSIVE_LOCKs have spinlock fields.
2733
27342007-03-07 06:56  gb
2735
2736        * level-1/version.lisp: bump, indicate work-in-progress development
2737        version.
2738
27392007-03-07 06:56  gb
2740
2741        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2742        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2743        rather than something lower-level.
2744
27452007-03-07 06:53  gb
2746
2747        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2748        to obtain them before yielding.
2749
27502007-03-07 06:52  gb
2751
2752        * level-0/l0-io.lisp: Move YIELD elsewhere.
2753
27542007-03-07 06:51  gb
2755
2756        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2757        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2758        layout.
2759
27602007-03-02 05:10  gb
2761
2762        * level-1/l1-application.lisp: Toplevel function: initial-listener
2763        class is 'TTY-LISTENER.
2764
27652007-03-02 05:09  gb
2766
2767        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2768        message.
2769
27702007-03-02 05:09  gb
2771
2772        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2773       
2774        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2775        For TTY-LISTENER, call QUIT.
2776
27772007-03-02 05:08  gb
2778
2779        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2780        EXIT-INTERACTIVE-PROCESS instead.
2781       
2782        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2783
27842007-03-02 05:06  gb
2785
2786        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2787
27882007-03-02 05:06  gb
2789
2790        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2791        of null pointers into body.
2792
27932007-03-02 05:05  gb
2794
2795        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2796        consus-interruptus.
2797
27982007-03-02 05:05  gb
2799
2800        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2801        <constant> if constant is of type <type>.)
2802       
2803        Do we need an ignore-errors here ? Or does <type> need to be
2804        defined ?
2805
28062007-03-02 05:03  gb
2807
2808        * compiler/X86/x862.lisp: Do the / * thing.
2809
28102007-03-02 05:02  gb
2811
2812        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2813        :call attribute.
2814
28152007-03-01 04:04  gb
2816
2817        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2818        new binding frame
2819
28202007-02-28 07:04  gb
2821
2822        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2823        rather than %rbp; trust callback_for_interrupt() to preserve it.
2824
28252007-02-28 07:03  gb
2826
2827        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2828        callback_for_interrupt().
2829
28302007-02-28 05:18  gb
2831
2832        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2833        counts) that may wind up on the vstack.
2834       
2835        Since those tiny things might be tagged as headers, walk the vstack
2836        with new "headerless" functions that ignore headers.
2837
28382007-02-28 05:16  gb
2839
2840        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2841        before the alloc trap and interrupting, back out of the
2842        modification to save_allocptr (and allocptr register) and set
2843        *interrupt_displacement.
2844
28452007-02-23 10:13  gb
2846
2847        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2848        only makes sense for cases where we have to guess; a bitfield
2849        that's 8 bits wide still has an alignment of 1.
2850       
2851        Factor in the alignment of the containing int when bitfields are
2852        involved.
2853       
2854        When parsing a record type, set the "bits" slot of each field.
2855        (Not too many things look at that slot, but we want the effect of
2856        loading a record from the database to match the effect of parsing a
2857        definition as exactly as possible, and to be able to use EQUALP to
2858        compare the results.)
2859
28602007-02-23 10:06  gb
2861
2862        * lib/db-io.lisp: Some extra fields in
2863        objc-message-info/objc-method-info structures.
2864       
2865        When calculating overall alignment of a structure, treat bitfields
2866        as if they were :unsigned-int (since there's a "containing"
2867        unsigned int that affects alignment.  N.B: this should be imposed
2868        for anything that has an alignment of 1, not just a size of 1.)
2869       
2870        When loading integer types, try to use the precomputed types rather
2871        than consing a new one.  This (a) reduces consing a little (b) is
2872        more likely to get the alignment correct.  For (b), we really need
2873        to distinguish between bitfields and addressable integers.
2874
28752007-02-23 09:30  gb
2876
2877        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2878
28792007-02-22 02:33  gb
2880
2881        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2882
28832007-02-22 02:28  gb
2884
2885        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2886        heap size right ...).
2887
28882007-02-22 02:27  gb
2889
2890        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2891        traditional (sysv) style of hash maps, if it understands that
2892        option.
2893
28942007-02-21 06:01  gb
2895
2896        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2897        has been consed since last GC.  (There are some fenceposts there.)
2898       
2899        verbose GC herald tries to indicate how much is allocated in the
2900        area being GCed.
2901
29022007-02-21 05:58  gb
2903
2904        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2905        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2906
29072007-02-21 05:57  gb
2908
2909        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2910        uuo-gc-trap.
2911
29122007-02-19 04:50  gb
2913
2914        * lib/foreign-types.lisp: Use keywords more consistently.
2915       
2916        (Note: there seems to be a bug which is keeping the cdb data
2917        structures from getting defined correctly at load time; the
2918        workaround is to compile foreign-types.lisp - which defines them -
2919        in the same session as and before db-io - which uses them - is
2920        compiled.)
2921
29222007-02-19 04:48  gb
2923
2924        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2925        error.
2926
29272007-02-19 04:42  gb
2928
2929        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2930        the error function.
2931
29322007-02-19 04:40  gb
2933
2934        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2935        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2936
29372007-02-19 04:40  gb
2938
2939        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2940        FUNCALLABLE-STANDARD-OBJECT.
2941       
2942        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2943        creating a GF.
2944
29452007-02-19 04:36  gb
2946
2947        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2948        funcallable-stanard-objects better.
2949
29502007-02-19 04:34  gb
2951
2952        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2953        CCL, OPENMCL-MOP.
2954
29552007-02-19 02:09  gb
2956
2957        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2958        FUNCALLABLE-STANDARD-CLASS.
2959
29602007-02-19 02:07  gb
2961
2962        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2963        error message.
2964
29652007-02-15 02:46  gb
2966
2967        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2968        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2969
29702007-02-15 02:45  gb
2971
2972        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2973        methods yet.
2974
29752007-02-14 02:39  gb
2976
2977        * release-notes.txt: Fix a typo.
2978
29792007-02-14 02:35  gb
2980
2981        * release-notes.txt: Update for 070214 snapshots.
2982
29832007-02-13 23:36  gb
2984
2985        * level-1/version.lisp: Bump.
2986
29872007-02-13 23:36  gb
2988
2989        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2990        image-abi-version.
2991
29922007-02-13 23:29  gb
2993
2994        * xdump/faslenv.lisp: Finish bumping fasl version.
2995
29962007-02-13 23:15  gb
2997
2998        * lib/nfcomp.lisp: Bump current fasl version.
2999
30002007-02-13 23:02  gb
3001
3002        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
3003
30042007-02-13 22:45  gb
3005
3006        * xdump/faslenv.lisp: Start bumping fasl-version.
3007
30082007-02-13 22:41  gb
3009
3010        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3011        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3012
30132007-02-13 21:16  gb
3014
3015        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3016        that contain incompatible definitions of some math library stuff
3017        ("log" either has to do with logarithms or logging ...).
3018
30192007-02-13 18:42  gb
3020
3021        * lib/misc.lisp: Change the way that TIME is reported by default:
3022        mention the number of available CPU cores, don't assume that
3023        there's that much of a relationship between CPU time and wall-clock
3024        time.
3025
30262007-02-13 18:41  gb
3027
3028        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3029        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3030        when :execute, too.
3031
30322007-02-13 18:35  gb
3033
3034        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3035        offset arg is required.
3036
30372007-02-13 18:12  gb
3038
3039        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3040        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3041
30422007-02-13 18:10  gb
3043
3044        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3045        cons.)
3046
30472007-02-13 18:10  gb
3048
3049        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3050        are more/other float-size issues deeper down in the code.
3051
30522007-02-13 18:09  gb
3053
3054        * examples/objc-support.lisp: Fixup the x86-64 error-return
3055        callback trampiline code (was missing a byte of machine code.)
3056
30572007-02-13 18:08  gb
3058
3059        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3060        jmp-buf to safe/sane values.
3061
30622007-02-13 18:07  gb
3063
3064        * examples/cocoa-window.lisp: Don't change-class
3065        *cocoa-event-process* until we start to run the event loop.
3066       
3067        Don't do _deallocHardCore: explicitly.
3068
30692007-02-13 17:35  gb
3070
3071        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3072        DOUBLE-FLOAT aliases just one gpr.
3073
30742007-02-13 17:34  gb
3075
3076        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3077
30782007-02-13 17:34  gb
3079
3080        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3081        32-bit ints, not "long".
3082
30832007-02-13 17:33  gb
3084
3085        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3086        for each scalar, not each arg.
3087       
3088        Fix some backquoting/indentation.
3089
30902007-02-13 17:31  gb
3091
3092        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3093
30942007-02-12 16:23  gb
3095
3096        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3097
30982007-02-11 20:22  gb
3099
3100        * examples/bridge.lisp: method-typestring needs to be
3101        conditionalized.  How has this been working ?
3102
31032007-02-11 20:22  gb
3104
3105        * examples/cocoa-editor.lisp: remove some debugging code.
3106
31072007-02-11 20:21  gb
3108
3109        * examples/objc-runtime.lisp: %mlist-containing is
3110        #-apple-objc-2.0.
3111
31122007-02-11 20:21  gb
3113
3114        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3115
31162007-02-11 05:35  gb
3117
3118        * level-1/version.lisp: Bump.
3119
31202007-02-11 05:28  gb
3121
3122        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3123        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3124        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3125        an optional argument; default to the Tiger SDK.
3126
31272007-02-11 05:26  gb
3128
3129        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3130        an errror.
3131
31322007-02-11 05:26  gb
3133
3134        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3135        Leopard renaming.  Suffer.
3136
31372007-02-11 05:25  gb
3138
3139        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3140        an existing process (so that the listener process appears to be
3141        "persistent".)
3142
31432007-02-11 05:24  gb
3144
3145        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3146        make the initial-listener object persistent acrosss
3147        SAVE-APPLICATION.
3148
31492007-02-11 00:01  gb
3150
3151        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3152       
3153        Handle callback-error-returns on x86-64.
3154
31552007-02-11 00:00  gb
3156
3157        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3158        use %ptr<, to hide word-size differences.
3159       
3160        __NSConstantStringClassReference isn't what it used to be, so look
3161        up NSConstantStringClass the hard way.
3162       
3163        Handle ns-exception/lisp-error stuff on x86-64.
3164       
3165        Do arg/result coercions differently.  Does any code depend on
3166        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3167        MACPTRs).
3168       
3169        Use the new FFI interface for message-sends, callbacks to try to
3170        hide platform-specific ABI issues.
3171       
3172        The _deallocate-hook mechanism - which never really worked -
3173        probably can't work on Objc-2.0.
3174
31752007-02-10 23:54  gb
3176
3177        * examples/bridge.lisp: Make structure return-type explicit in
3178        objc-message-send calls in send/stret and variants.
3179
31802007-02-10 22:34  gb
3181
3182        * examples/cocoa-window.lisp: Some indentation changes and slight
3183        reorganization of the code; shouldn't be any functional/semantic
3184        changes.
3185
31862007-02-10 22:30  gb
3187
3188        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3189        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3190        appropriate; other changes for 64-bit platforms, Objc-2.0.
3191
31922007-02-10 22:28  gb
3193
3194        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3195        CG-FLOATs when appropriate.
3196
31972007-02-10 22:28  gb
3198
3199        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3200
32012007-02-10 22:28  gb
3202
3203        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3204
32052007-02-10 22:27  gb
3206
3207        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3208        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3209        ignore-errors when trying to parse the last arglist form as a
3210        foreign type.
3211
32122007-02-10 22:26  gb
3213
3214        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3215        expansion ...
3216
32172007-02-10 22:26  gb
3218
3219        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3220        use %rdx and %r11 to hold target address.
3221
32222007-02-10 22:23  gb
3223
3224        * library/pty.lisp: Unicode stuff when accessing control char
3225        array; conditionalize for #+darwin-target, not just
3226        #+darwinppc-target.
3227
32282007-02-10 22:22  gb
3229
3230        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3231        ppc-specific; the comment dated from the days of 68K MCL.)
3232
32332007-02-10 22:21  gb
3234
3235        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3236        return 32 bits at a time, to avoid consing little bignums.
3237
32382007-02-10 22:15  gb
3239
3240        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3241
32422007-02-10 22:15  gb
3243
3244        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3245        count, not total byte count.
3246       
3247        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3248        the PPC case, as well.)
3249
32502007-02-10 22:11  gb
3251
3252        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3253        "zero-extend-s8" vinsn, but there does need to be a
3254        "zero-extend-u8".
3255
32562007-02-10 05:38  gb
3257
3258        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3259        #'VALUES.
3260
32612007-02-10 05:38  gb
3262
3263        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3264        ARGLIST can say -something- about lap functions that don't take a
3265        fixed number of arguments.
3266
32672007-02-07 02:54  gb
3268
3269        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3270        "e".
3271
32722007-02-02 02:32  gb
3273
3274        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3275        objc-support.lisp: Start to integrate with FFI changes.  No more
3276        %SEND, process and precompile "init" messages when interfaces are
3277        accessed.  (Note: should try to handle varargs init messages, even
3278        if we have to call %FF-CALL at runtime.)
3279
32802007-02-02 02:31  gb
3281
3282        * examples/: addressbook.lisp, webkit.lisp: Change the
3283        initialization code a bit.
3284
32852007-02-02 02:27  gb
3286
3287        * lib/foreign-types.lisp: Try to fix another case involving
3288        "auxiliary types".
3289       
3290        I think that the concept of auxiliary types might make sense in a
3291        context like:
3292       
3293        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3294        (:struct :bar (:x :int) (:y :int)))))
3295       
3296        In that case, :struct :bar is local to the definition.  In the
3297        similar case:
3298       
3299        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3300        (:struct :bar))))
3301       
3302        :BAR is presumably defined (globally) elsewhere.
3303
33042007-02-02 02:17  gb
3305
3306        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3307         (Setting "SDK=" will hopefully work with older version of xcode.)
3308
33092007-02-02 02:15  gb
3310
3311        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3312
33132007-01-31 23:26  gb
3314
3315        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3316        argument in ppc2-poweropen-foreign-args.
3317
33182007-01-31 22:47  gb
3319
3320        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3321        components from registers.
3322
33232007-01-31 22:45  gb
3324
3325        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3326        brackets are returned verbatim, not downcased.
3327
33282007-01-31 22:44  gb
3329
3330        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3331        accepts :registers.
3332
33332007-01-31 16:36  gb
3334
3335        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3336        New (and, so far, useless) files.
3337
33382007-01-31 16:35  gb
3339
3340        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3341        seems to be 32-bit only.
3342
33432007-01-31 16:34  gb
3344
3345        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3346
33472007-01-31 16:34  gb
3348
3349        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3350
33512007-01-31 16:33  gb
3352
3353        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3354        missing cdb file: dog bytes man; missing parent directory is more
3355        newsworthy.
3356
33572007-01-31 15:38  gb
3358
3359        * library/chud-metering.lisp: Tweak a little, so that it might work
3360        on darwinppc64 (and on darwinx8664 when purify does something
3361        there.)
3362
33632007-01-31 15:06  gb
3364
3365        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3366
33672007-01-31 02:49  gb
3368
3369        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3370
33712007-01-30 22:53  gb
3372
3373        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3374        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3375        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3376        gl/.cvsignore: new files.
3377
33782007-01-30 22:21  gb
3379
3380        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3381        new files.
3382
33832007-01-30 21:58  gb
3384
3385        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3386
33872007-01-30 21:58  gb
3388
3389        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3390        file
3391
33922007-01-30 21:49  gb
3393
3394        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3395        fun!
3396
33972007-01-30 21:40  gb
3398
3399        * library/openmcl-gtk-support.lisp: Conditionalize out the
3400        event-polling task.
3401
34022007-01-30 21:36  gb
3403
3404        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3405        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3406        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3407
34082007-01-30 21:35  gb
3409
3410        * headers/gl/C/populate.sh: process glu.h
3411
34122007-01-30 17:47  gb
3413
3414        * library/parse-ffi.lisp: Always encode explicit structure-typed
3415        function return values.
3416       
3417        Note when we see one, for now.
3418
34192007-01-30 17:45  gb
3420
3421        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3422        leading argument to be paired with a structure-typed return-type.
3423
34242007-01-30 17:43  gb
3425
3426        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3427        the first-arg hack.
3428
34292007-01-30 17:42  gb
3430
3431        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3432        support the old version.
3433       
3434        Don't check the :struct-by-value flag when encoding function
3435        args/results.  (That decision's made above our pay grade now.)
3436       
3437        When reading a :struct/:union definition, try to update an existing
3438        defintion rather than consing up a new one (this matters if the
3439        record is anonymous.)
3440
34412007-01-30 17:39  gb
3442
3443        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3444        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3445        correctly.
3446       
3447        Fix c_socket for #+linuxppc.
3448
34492007-01-30 08:20  gb
3450
3451        * level-1/version.lisp: Bump.
3452
34532007-01-30 08:20  gb
3454
3455        * lib/compile-ccl.lisp: Use make -j to build kernel.
3456
34572007-01-30 07:02  gb
3458
3459        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3460        xmm0/xmm1.
3461
34622007-01-30 07:01  gb
3463
3464        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3465        day's work turned into 2 weeks, somehow.)
3466
34672007-01-30 07:00  gb
3468
3469        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3470        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3471        stuff for x8664 (all platfroms appear to use the same ABI.)
3472
34732007-01-30 03:26  gb
3474
3475        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3476        displacement in %ATOMIC-INCF-NODE.
3477
34782007-01-29 07:27  gb
3479
3480        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3481
34822007-01-29 07:27  gb
3483
3484        * lib/ffi-darwinppc64.lisp: new callback stuff.
3485
34862007-01-29 07:27  gb
3487
3488        * lib/ffi-darwinppc32.lisp: typos-r-us.
3489
34902007-01-29 04:37  gb
3491
3492        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3493
34942007-01-29 04:37  gb
3495
3496        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3497
34982007-01-29 04:36  gb
3499
3500        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3501
35022007-01-29 04:36  gb
3503
3504        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3505
35062007-01-29 04:36  gb
3507
3508        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3509        stuff here.
3510
35112007-01-29 02:33  gb
3512
3513        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3514
35152007-01-28 21:47  gb
3516
3517        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3518        a bit more, change the API, get things working ... still a moving
3519        target.
3520
35212007-01-28 21:46  gb
3522
3523        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3524        (Other platforms still need more bootstrapping.)
3525
35262007-01-28 21:44  gb
3527
3528        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3529        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3530
35312007-01-28 03:21  gb
3532
3533        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3534        dynamic-extent, other decls separately.
3535
35362007-01-28 03:20  gb
3537
3538        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3539        use the new (ftd-based) scheme.
3540
35412007-01-28 01:43  gb
3542
3543        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3544        code's getting replaced, but fix 'em anyway.)
3545
35462007-01-28 01:42  gb
3547
3548        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3549        translated pathname and mention the fact that this might indicate a
3550        problem with "ccl:"'s logical translations.
3551
35522007-01-25 04:37  gb
3553
3554        * lib/foreign-types.lisp: Never fully understood the concept
3555        "auxiliary" foreign types, but try to canonicalize intermediate
3556        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3557        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3558        likely to return T (e.g., something registered in the FTD.
3559       
3560        It seems clear that this is the right thing when the structure
3561        reference is in global scope; I'm not sure what it'd mean for that
3562        not to be the case.
3563
35642007-01-25 04:32  gb
3565
3566        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3567        callback.
3568
35692007-01-24 23:41  gb
3570
3571        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3572        may not even compile.
3573
35742007-01-24 02:39  gb
3575
3576        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3577        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3578        for new FTD functions.
3579
35802007-01-24 02:28  gb
3581
3582        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3583        defstruct.
3584
35852007-01-23 15:28  gb
3586
3587        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3588        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3589        Return FPRs in the same place.  (Will need to re-work all of this
3590        for platform-dependent structure stuff.)
3591
35922007-01-23 15:26  gb
3593
3594        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3595        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3596        the lisp side.)
3597
35982007-01-23 15:21  gb
3599
3600        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3601        c_reg_save for saved fp args (f1-f13).
3602
36032007-01-23 15:14  gb
3604
3605        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3606        ftd hook.
3607
36082007-01-23 07:19  gb
3609
3610        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3611        (CLASS-OF non-simple-string).
3612
36132007-01-23 07:02  gb
3614
3615        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3616        array case, needed new string definition.
3617
36182007-01-23 07:01  gb
3619
3620        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3621        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3622        compiler/X86/X8664/x8664-backend.
3623
36242007-01-23 06:59  gb
3625
3626        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3627        stuff here.
3628
36292007-01-21 08:32  gb
3630
3631        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3632        "-returning-").
3633       
3634        Typecheck the :registers arg.
3635
36362007-01-21 08:32  gb
3637
3638        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3639
36402007-01-21 08:31  gb
3641
3642        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3643        stack-block.
3644
36452007-01-21 08:31  gb
3646
3647        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3648        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3649        instead.
3650
36512007-01-21 06:46  gb
3652
3653        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3654        space for 13 float registers, not 31.
3655
36562007-01-21 06:45  gb
3657
3658        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3659        x86-64.
3660
36612007-01-21 06:38  gb
3662
3663        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3664        register return without typos.
3665
36662007-01-21 06:15  gb
3667
3668        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3669        register return.
3670
36712007-01-21 06:14  gb
3672
3673        * compiler/nx1.lisp: Don't assume that passing a structure by value
3674        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3675        platform that doesn't support the convention.)
3676
36772007-01-21 06:12  gb
3678
3679        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3680        replaces .SPunused-4.
3681
36822007-01-21 06:10  gb
3683
3684        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3685        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3686        (replaces .SPunused_4).
3687
36882007-01-21 00:05  gb
3689
3690        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3691        argument/result coercion functions in os::expand-ff-call.
3692
36932007-01-20 23:53  gb
3694
3695        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3696        results when expanding an ff-call.
3697
36982007-01-20 23:52  gb
3699
3700        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3701        foreign args, results.
3702
37032007-01-20 22:31  gb
3704
3705        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3706        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3707        are to each other.  I'd guess that they're pretty close, and that
3708        x86-64 Darwin is random.)
3709
37102007-01-20 21:55  gb
3711
3712        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3713
37142007-01-20 19:34  gb
3715
3716        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3717
37182007-01-20 19:25  gb
3719
3720        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3721        right os::ff-call-expander.
3722
37232007-01-20 19:24  gb
3724
3725        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3726
37272007-01-20 19:24  gb
3728
3729        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3730        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3731        OS.
3732
37332007-01-20 19:23  gb
3734
3735        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3736        probably several more.
3737
37382007-01-20 19:22  gb
3739
3740        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3741
37422007-01-20 19:21  gb
3743
3744        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3745        extended to handle coercions at the Cocoa level, and probably needs
3746        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3747        installed by #_).
3748
37492007-01-20 19:18  gb
3750
3751        * lib/db-io.lisp: Encode, decode union types in arglists.
3752
37532007-01-20 19:17  gb
3754
3755        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3756        os::expand-ff-call.
3757       
3758        Canonicalize the :void type a bit better.
3759
37602007-01-20 19:16  gb
3761
3762        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3763
37642007-01-18 23:15  gb
3765
3766        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3767
37682007-01-18 23:15  gb
3769
3770        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3771
37722007-01-18 23:15  gb
3773
3774        * lib/systems.lisp: Add the new ffi-backend sources.
3775
37762007-01-18 23:14  gb
3777
3778        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3779        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3780        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3781        files.
3782
37832007-01-18 04:35  gb
3784
3785        * level-1/version.lisp: Bump.
3786
37872007-01-18 04:17  gb
3788
3789        * examples/bridge.lisp: Some word-size conditionalization.  Will
3790        need more work to handle struct return/asssignment correctly on all
3791        platforms.
3792
37932007-01-18 04:15  gb
3794
3795        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3796        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3797
37982007-01-18 04:13  gb
3799
3800        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3801        type casts, etc.
3802
38032007-01-18 04:12  gb
3804
3805        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3806        deprecated NSFont stuff.
3807
38082007-01-18 04:11  gb
3809
3810        * examples/objc-clos.lisp: Handle ivars, class
3811        creation/initialization differently for ObjC 2.0.
3812
38132007-01-18 04:10  gb
3814
3815        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3816
38172007-01-18 04:09  gb
3818
3819        * examples/objc-support.lisp: Note which protocols are actually
3820        used when walking classes.  (There doesn't seem to be a good way of
3821        finding a Protocol object pre-objc-2.0, and we may need to test
3822        protocol compliance to disambiguate message sends in some cases.)
3823
38242007-01-18 04:07  gb
3825
3826        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3827        necessarily darwinppc).
3828
38292007-01-18 04:06  gb
3830
3831        * examples/addressbook.lisp: Conditionalize for darwin (not
3832        necessarily darwinppc).  May want to conditionalize for bundle
3833        executable name, as well.
3834
38352007-01-18 04:05  gb
3836
3837        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3838        to sketch out structure return code (structures are often
3839        "returned" by returning field values in registers pn DarwinPPC64.)
3840
38412007-01-18 04:04  gb
3842
3843        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3844        attributes for structure args/results.
3845
38462007-01-18 04:03  gb
3847
3848        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3849         (Will need this for other platforms, too.)
3850
38512007-01-18 04:01  gb
3852
3853        * lib/macros.lisp: Arch-specific macro interface for
3854        WITH-FFCALL-RESULTS.
3855
38562007-01-18 04:00  gb
3857
3858        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3859        return value.
3860
38612007-01-18 04:00  gb
3862
3863        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3864        .SPpoweropen_ffcall_return_registers.
3865
38662007-01-18 03:59  gb
3867
3868        * library/parse-ffi.lisp: At least optionally, make structure
3869        return explicit (expecting it to be handled by higher-level code.)
3870
38712007-01-18 03:58  gb
3872
3873        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3874        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3875
38762007-01-18 03:55  gb
3877
3878        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3879        may hold OS thread context.
3880
38812007-01-18 03:54  gb
3882
3883        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3884        in ftd.
3885
38862007-01-18 03:53  gb
3887
3888        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3889        macro.
3890
38912007-01-18 03:52  gb
3892
3893        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3894        all possible result regs.  (Maybe poweropen syscall, too.)
3895
38962007-01-18 03:51  gb
3897
3898        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3899        .SPpoweropen-ff-call-return-registers.
3900
39012007-01-18 03:50  gb
3902
3903        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3904        supported, backend will return all (potential) result registers in
3905        buffer at <exp>.
3906
39072007-01-16 02:01  gb
3908
3909        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3910        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3911        functions make less sense for character streams/strings than they
3912        used to.)
3913
39142007-01-16 01:39  gb
3915
3916        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3917        defaults to :BIVALENT
3918
39192007-01-16 01:37  gb
3920
3921        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3922
39232007-01-11 23:58  gb
3924
3925        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3926        into (* (/ constant1 constant2) exp).  Not very general, but makes
3927        some foreign address arithmetic better.
3928
39292007-01-11 23:56  gb
3930
3931        * lib/macros.lisp: Simple PAREF: (paref pointer
3932        foreign-pointer-or-array-type index) does simple arithmetic for
3933        you.
3934
39352007-01-11 23:54  gb
3936
3937        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3938
39392007-01-10 15:50  gb
3940
3941        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3942        double->heap vinsn.
3943
39442007-01-09 11:33  gb
3945
3946        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3947        cleanup and multiple values are being thrown, be sure to set
3948        tcr.xframe from the target catch frame.  This is necessary on
3949        general principles (GC safety), and especially necessary if the
3950        cleanup form does a non-local exit.
3951
39522007-01-08 22:12  gb
3953
3954        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3955        Revive some of the old GNUstep support; add partial ObjC 2.0
3956        support (for 64-bit targets only, so far.)
3957
39582007-01-08 22:11  gb
3959
3960        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3961        darwinppc-target.
3962
39632007-01-08 22:10  gb
3964
3965        * examples/cocoa-listener.lisp: Disable background layout in the
3966        listener; the whole two-thread scheme probably isn't viable, but
3967        doing this seems to suppress a timing-related symptom.
3968
39692007-01-08 22:09  gb
3970
3971        * examples/cocoa-editor.lisp: Document-begin-editing,
3972        document-end-editing: both seem to have been conditionalized
3973        backwards.
3974
39752007-01-05 16:22  gb
3976
3977        * level-0/l0-numbers.lisp: Fix another typo ...
3978
39792007-01-05 16:16  gb
3980
3981        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3982
39832007-01-05 15:27  gb
3984
3985        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3986        PPC32.
3987
39882007-01-05 06:20  gb
3989
3990        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3991        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3992        result (with the right arg) does obtain a link map.
3993       
3994        Revive shared libraries on FreeBSD, but don't do the strange
3995        Linux-specific re-opening there.  (It seems like it's possible to
3996        #_dlopen something that already has a loaded link map - like the
3997        FreeBSD dynamic linker - or something.)
3998
39992007-01-04 05:46  gb
4000
4001        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
4002        :WILD-INFERIORS.
4003
40042007-01-04 05:45  gb
4005
4006        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4007        (which may use %gs instead of %fs for tls).
4008
40092007-01-04 05:44  gb
4010
4011        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4012
40132007-01-04 05:44  gb
4014
4015        * level-0/l0-numbers.lisp:
4016        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4017        accurately represented in float, do so.
4018
40192007-01-03 03:35  gb
4020
4021        * lib/sequences.lisp: Fix a few type errors, check for explicit
4022        vector-type length earlier.
4023
40242007-01-03 03:31  gb
4025
4026        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4027        preserved :WILD, don't map it to "*".
4028
40292007-01-03 03:30  gb
4030
4031        * lib/pathnames.lisp: More whack-a-mole with pathnames
4032        (specifically, preserving :WILD as name/type value and dealing with
4033        the consequences of doing so.)
4034
40352007-01-03 03:27  gb
4036
4037        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4038
40392007-01-02 09:57  gb
4040
4041        * lib/macros.lisp: Keep fixing CTYPECASE.
4042
40432007-01-02 09:57  gb
4044
4045        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4046        BASIC-CHARACTER-INPUT-STREAM returns both values.
4047       
4048        "Composite" (two-way, concatenated, etc) streams need a close
4049        protocol.
4050
40512007-01-02 07:00  gb
4052
4053        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4054        (new) version slot, as does practically everything else.
4055
40562007-01-02 06:59  gb
4057
4058        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4059        accurately coerced to floats when comparing fixnums and floats; do
4060        the logical equvalent of calling RATIONAL on the float instead.
4061
40622007-01-01 23:41  gb
4063
4064        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4065        version into returned namestring for physical pathnames.
4066
40672006-12-31 10:15  gb
4068
4069        * release-notes.txt: Update.
4070
40712006-12-31 09:13  gb
4072
4073        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4074        version.
4075
40762006-12-31 08:57  gb
4077
4078        * xdump/faslenv.lisp: Bump fasl-min-vers.
4079
40802006-12-31 08:49  gb
4081
4082        * lib/nfcomp.lisp: Bump current fasl version.
4083
40842006-12-31 08:33  gb
4085
4086        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4087        Tweak the executable start address.
4088
40892006-12-31 02:44  gb
4090
4091        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4092        ensure that there's nothing interesting in the first few pages of
4093        the address space (and ensure that those pages are mapped.)
4094
40952006-12-31 02:43  gb
4096
4097        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4098        on x86-64 (ld64 does some floating-point arithmetic, fails to
4099        account for roundoff error, and claims that 0x1000 isn't a power of
4100        2.) If you can't say anything good about a linker, it's best not to
4101        say anything at all.
4102       
4103        We can force the first segment to be mapped at 0x1000, and can
4104        waste a few pages to ensure that all low-memory pages that the lisp
4105        wants are mapped.
4106
41072006-12-31 02:33  gb
4108
4109        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4110        defensive.
4111
41122006-12-31 02:32  gb
4113
4114        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4115
41162006-12-31 02:29  gb
4117
4118        * xdump/faslenv.lisp: Bump $fasl-vers.
4119
41202006-12-31 02:28  gb
4121
4122        * level-1/version.lisp: Bump; remove "Beta" designation.
4123
41242006-12-29 20:13  gb
4125
4126        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4127        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4128        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4129        up a page on x86-64 as well.
4130
41312006-12-29 16:09  gb
4132
4133        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4134        .orged.
4135
41362006-12-29 15:32  gb
4137
4138        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4139        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4140        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4141        (including NIL) now one page higher on ppc32, as well.
4142
41432006-12-29 02:38  gb
4144
4145        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4146
41472006-12-29 01:38  gb
4148
4149        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4150        ppc64::reservation-discharge) up a page.
4151
41522006-12-29 01:37  gb
4153
4154        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4155        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4156
41572006-12-29 01:36  gb
4158
4159        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4160        backend.  ppc64 wants it one page higher than it has been, to avoid
4161        letting unmapped pages get claimed by the dynamic linker on Darwin.
4162
41632006-12-29 01:35  gb
4164
4165        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4166        that the image starts at #x1000 and aligned section data for the
4167        text section starts on the next page.
4168
41692006-12-29 01:33  gb
4170
4171        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4172        the aligned text section data starts.
4173
41742006-12-29 01:32  gb
4175
4176        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4177        etc a page higher.
4178
41792006-12-29 01:32  gb
4180
4181        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4182        already where it should be.
4183
41842006-12-29 01:32  gb
4185
4186        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4187        page higher.
4188
41892006-12-29 01:30  gb
4190
4191        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4192
41932006-12-22 01:40  gb
4194
4195        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4196
41972006-12-22 01:39  gb
4198
4199        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4200        PPC32/Darwin.
4201       
4202        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4203        test and use dlfcn functions if at least Tiger.
4204       
4205        (The old dyld functions are deprecated under Leopard, and there's
4206        reason to believe that they don't work correctly on at least ppc64/
4207        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4208        a 64-bit .dylib seems to lead to memory corruption rather than
4209        returning NSObjectFileImageInappropriateFile.
4210       
4211        The old functions work better than the dlfcn functions on pre-Tiger
4212        systems.)
4213
42142006-12-19 01:24  gb
4215
4216        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4217        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4218        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4219        producing a pathane with a non-null VERSION component, as it
4220        arguably should have been all along.
4221
42222006-12-18 13:22  gb
4223
4224        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4225        types into concrete vector types.
4226
42272006-12-18 13:04  gb
4228
4229        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4230        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4231        failing to do this leads to many test failures.)
4232
42332006-12-18 13:03  gb
4234
4235        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4236
42372006-12-18 12:57  gb
4238
4239        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4240        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4241        failing to do this leads to many test failures.)
4242
42432006-12-18 12:54  gb
4244
4245        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4246
42472006-12-16 05:28  gb
4248
4249        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4250        instructions have a minor opcode in frb and only have one source
4251        operand.
4252
42532006-12-16 05:27  gb
4254
4255        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4256        SQRT, note that there's only one operand and that it's in frb.
4257
42582006-12-16 05:25  gb
4259
4260        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4261        instructions, notably fsqrt/fqrts, which are optional and not
4262        implemented on some PPC machines.
4263
42642006-12-16 05:24  gb
4265
4266        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4267
42682006-12-14 19:47  gb
4269
4270        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4271
42722006-12-14 16:43  gb
4273
4274        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4275        double-float arithmetic vinsns should say :double-float, not
4276        :single-float.  (I suspect cut-and-paste, frankly.)
4277
42782006-12-14 16:25  gb
4279
4280        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4281        initial-thread.
4282
42832006-12-14 16:24  gb
4284
4285        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4286        error.
4287
42882006-12-14 16:14  gb
4289
4290        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4291        physical pathnames. (Yes, this is kind of silly.)
4292
42932006-12-14 16:01  gb
4294
4295        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4296        signal errors for (e.g.) failed memory allocation.
4297
42982006-12-14 16:00  gb
4299
4300        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4301        fails, signal a lisp error (what a concept.)
4302
43032006-12-14 15:51  gb
4304
4305        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4306       
4307        Might be worth revisiting this.
4308
43092006-12-14 15:50  gb
4310
4311        * lisp-kernel/x86-exceptions.c: Go back to using the
4312        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4313        from a fake context may not be reliable.
4314       
4315        When handling an interrupt with a partially created temp stack
4316        frame, do the right thing.  (That basically means reset the frame
4317        before calling out and recreating it if we return from the
4318        callout.)
4319       
4320        Handle SIGQUIT on the altstack, to provide a way of forcibly
4321        terminating threads that's a bit more GC-safe than doing it via
4322        #_pthread_cancel.
4323       
4324        Note the tcr of the gc thread on gc entry; if an exception happens
4325        in that thread, print a message and sleep for 60 seconds.
4326       
4327        Note that there's still a race condition here: if thread A gets an
4328        exception and thread B gets the mach_exception_lock (to GC) before
4329        the exception thread can handle the message, we deadlock (thread A
4330        would be suspended in the kernel and can't respond to a suspend
4331        signal.)  We can tell that this has happened and make a good guess
4332        as to why it happened, but dealing with it will require some
4333        thought.  (If we've already issued a suspend signal and eventually
4334        raise the suspended thread's resume semaphore, it'll suspend and
4335        resume once the mach exception thread makes it runnable.  Who
4336        cleans up its exception context in that case ?  Does it matter ?)
4337
43382006-12-14 15:19  gb
4339
4340        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4341        have all signals unmasked.
4342       
4343        If a tcr is dead, ensure that its stack areas are empty.
4344       
4345        Try to run shutdown_thread_tcr as a pthread cleanup action,
4346        hopefully before Mach clobbers the thread's signal mask.
4347
43482006-12-14 15:16  gb
4349
4350        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4351        TCR_AREA_LOCK.
4352
43532006-12-14 15:15  gb
4354
4355        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4356        hasn't existed in years.
4357
43582006-12-14 15:14  gb
4359
4360        * level-1/version.lisp: Bump.
4361
43622006-12-14 15:14  gb
4363
4364        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4365        termination semaphore.
4366
43672006-12-14 15:13  gb
4368
4369        * level-1/l1-processes.lisp: PROCESS objects are created with a
4370        termination semaphore.
4371
43722006-12-14 15:12  gb
4373
4374        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4375        TERMINATION-SEMAPHORE.
4376       
4377        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4378        target thread to transition from running lisp code to running
4379        foreign code without advertising that fact. Send a SIGQUIT instead,
4380        and trust the SIGQUIT handler to manage that transition.  Don't try
4381        to kill the initial thread.
4382
43832006-12-09 09:52  gb
4384
4385        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4386        their CLEAR-OUTPUT methods.
4387       
4388        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4389        their displaced-index-offsets.)
4390
43912006-12-09 09:49  gb
4392
4393        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4394        threads on x86-64.  (The PPC never got around to enabling them.)
4395
43962006-12-09 09:47  gb
4397
4398        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4399        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4400        the result of its evaluation.
4401       
4402        Some fixes in CTYPECASE handling, which hopefully didn't break
4403        anything else.
4404
44052006-12-09 09:36  gb
4406
4407        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4408        1d) index register is set - even if the index is a constant - if we
4409        think that the store needs EGC memoization.
4410       
4411        (Note that the test case that exposed this involved storing
4412        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4413        64-bit platforms.)
4414       
4415        In aref2, don't worry about reserving unscaled index registers when
4416        targeting the 1d index; the unscaled index registers aren't live
4417        after, could be NULL if the index is a constant, and any overlap
4418        between one of them and the 1d index should be handled in the
4419        vinsn(s).
4420
44212006-12-09 09:30  gb
4422
4423        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4424        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4425        class-translations.
4426
44272006-12-09 09:27  gb
4428
4429        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4430        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4431        don't segfault taking its CAR without checking.)
4432
44332006-12-06 18:48  gb
4434
4435        * level-0/X86/x86-float.lisp: x86-64 version of
4436        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4437        in %imm1 (which is undefined here ...)
4438
44392006-12-06 17:05  gb
4440
4441        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4442        right symbol for the named block.
4443       
4444        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4445        (SETF NAME).
4446
44472006-12-05 22:44  gb
4448
4449        * release-notes.txt: Update for 061205.
4450
44512006-12-05 20:31  gb
4452
4453        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4454        from putting a linkedit segment in the wrong place and making
4455        32-bit memory unmappable.
4456
44572006-12-05 20:30  gb
4458
4459        * level-1/version.lisp: Bump.
4460
44612006-12-05 20:29  gb
4462
4463        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4464
44652006-12-05 18:53  gb
4466
4467        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4468        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4469        doc string for *ALTERNATE-LINE-TERMINATOR*.
4470
44712006-12-04 15:13  gb
4472
4473        * level-1/version.lisp: Append a patchlevel to the version string,
4474        at least until new tarballs can be built.
4475
44762006-12-04 15:12  gb
4477
4478        * level-1/l1-streams.lisp: If stream element type upgrades to
4479        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4480        element-type.)
4481
44822006-12-04 13:02  gb
4483
4484        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4485        called): don't bother to shift by 0 bits.  Do shift the initial U
4486        if non-zero trailing 0 BITS (was testing for non-zero trailing
4487        DIGITS.)
4488
44892006-12-04 12:52  gb
4490
4491        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4492        element-types; do some upgrading to support some more element types
4493        (BIT -> (UNSIGNED-BYTE 8)).
4494       
4495        Maybe support arbitrarily large integer types someday soon.  Maybe
4496        not.
4497
44982006-12-04 12:48  gb
4499
4500        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4501        types (compiler stuff, mostly).
4502
45032006-12-04 12:46  gb
4504
4505        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4506        shift count of 32 (and returns 0 in that case.)
4507
45082006-12-04 12:46  gb
4509
4510        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4511        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4512        in case.)
4513
45142006-12-04 12:43  gb
4515
4516        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4517        GCD-2 ...
4518
45192006-12-04 09:26  gb
4520
4521        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4522        for STRING-INPUT-STREAMs.
4523
45242006-12-04 09:24  gb
4525
4526        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4527        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4528        shift by 0 bits.
4529
45302006-12-04 09:21  gb
4531
4532        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4533        doing %SLOT-UNBOUND-TRAP.
4534
45352006-12-04 09:21  gb
4536
4537        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4538        STREAMs, returns NIL.  STREAM-POSITION method for
4539        STRING-INPUT-STREAMs.
4540
45412006-12-04 09:19  gb
4542
4543        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4544        containing heap image.
4545
45462006-12-03 07:41  gb
4547
4548        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4549        STRING-OUTPUT-STREAMs are no-ops.
4550       
4551        Need an ioblock-based character-read-vector function for
4552        string-input-streams.
4553
45542006-12-03 07:37  gb
4555
4556        * lib/describe.lisp: Minimal DESCRIBE support for
4557        CCL::BASIC-STREAM.
4558
45592006-12-03 07:36  gb
4560
4561        * lib/macros.lisp: If :element-type is supplied in
4562        WITH-OUTPUT-TO-STRING, don't quote it.
4563
45642006-12-03 05:11  gb
4565
4566        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4567        isn't necessarily 16.
4568
45692006-12-03 05:10  gb
4570
4571        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4572        isn't necessarily 16.
4573       
4574        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4575        %slot-unbound-trap.
4576
45772006-12-03 05:09  gb
4578
4579        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4580        avoid some NO-NEXT-METHODs.
4581
45822006-12-03 02:42  gb
4583
4584        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4585        bit better.
4586
45872006-12-03 02:41  gb
4588
4589        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4590        bit.
4591
45922006-12-03 02:28  gb
4593
4594        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4595        clearing the low byte of the header, shifting it right, and
4596        comparing the index to that.  (It's not reliable to shift the index
4597        left.)
4598
45992006-12-03 02:26  gb
4600
4601        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4602        write BOM, leave that up to higher-level code.
4603       
4604        Start to write some higher-level code.
4605
46062006-12-03 02:23  gb
4607
4608        * level-1/l1-sysio.lisp: Fix some indentation.
4609
46102006-12-03 02:21  gb
4611
4612        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4613        the header word right (after clearing its low byte) and compare the
4614        index to that.  (Shifting the index left - d'oh - obviously fails
4615        for indices of large magnitude.)
4616
46172006-11-29 21:07  gb
4618
4619        * lib/db-io.lisp: Indentation change.
4620       
4621        Add CDB-ENUMERATE-KEYS.
4622
46232006-11-29 18:37  gb
4624
4625        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4626        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4627        LISTP first.  (I hope ...).  Do so.
4628
46292006-11-28 18:42  gb
4630
4631        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4632
46332006-11-28 16:14  gb
4634
4635        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4636
46372006-11-28 16:12  gb
4638
4639        * examples/objc-runtime.lisp: Wrap a (primitive)
4640        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4641        NSThread.
4642
46432006-11-28 16:09  gb
4644
4645        * examples/cocoa-listener.lisp: Don't claim that a callback
4646        parameter is ignored; use IGNORABLE instead.
4647
46482006-11-21 01:28  gb
4649
4650        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4651        conditionalization.
4652
46532006-11-21 00:55  gb
4654
4655        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4656        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4657       
4658        Basic file-socket streams.
4659
46602006-11-10 05:08  gb
4661
4662        * release-notes.txt: Update.
4663
46642006-11-10 04:28  gb
4665
4666        * lisp-kernel/image.h: Bump min image version.
4667
46682006-11-10 04:19  gb
4669
4670        * xdump/heap-image.lisp: bump current image version.
4671
46722006-11-10 04:19  gb
4673
4674        * lisp-kernel/image.h: bump current, max image version.
4675
46762006-11-10 04:10  gb
4677
4678        * xdump/faslenv.lisp: Bump min fasl version.
4679
46802006-11-10 03:56  gb
4681
4682        * lib/nfcomp.lisp: bump current fasl version.
4683
46842006-11-10 03:47  gb
4685
4686        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4687        #_exit
4688
46892006-11-10 03:46  gb
4690
4691        * compiler/X86/x862.lisp: TYPE typo.
4692
46932006-11-10 03:32  gb
4694
4695        * xdump/faslenv.lisp: Bump max fasl version.
4696
46972006-11-10 03:25  gb
4698
4699        * level-1/version.lisp: Bump.  New snapshots today!
4700
47012006-11-09 16:26  gb
4702
4703        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4704       
4705        PREPARE-TO-QUIT kill stragglers without waiting as long.
4706
47072006-11-09 15:50  gb
4708
4709        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4710       
4711        Try to run lisp code after #_exit via lazarus(); this is for some
4712        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4713       
4714        The environment in which The Undead code runs is a little funky,
4715        especially on PPC.  There might be GC implications (cstack will
4716        contain call history as of the point when #_exit called atexit
4717        handlers, vstack & tstack are emptied in lazarus()).  We should
4718        barely run any code in this environment, but we will GC a time or
4719        two ...
4720
47212006-11-09 15:45  gb
4722
4723        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4724
47252006-11-09 15:43  gb
4726
4727        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4728        protocol.
4729
47302006-11-09 15:42  gb
4731
4732        * examples/cocoa-listener.lisp: :set-document-edited for listener
4733        "documents" is a no-op.
4734
47352006-11-09 15:39  gb
4736
4737        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4738        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4739
47402006-11-09 12:50  gb
4741
4742        * compiler/X86/x862.lisp: Always check that array-ctype's
4743        dimensions are a list before taking their length.
4744
47452006-11-09 12:13  gb
4746
4747        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4748        right thing ...
4749
47502006-11-09 10:08  gb
4751
4752        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4753        Three-arg aref/(setf aref) for x8664.
4754
47552006-11-09 05:37  gb
4756
4757        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4758        errors.
4759
47602006-11-09 05:37  gb
4761
4762        * compiler/nxenv.lisp: Operators for 3d array access.
4763
47642006-11-09 05:36  gb
4765
4766        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4767        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4768        array types.
4769
47702006-11-08 12:50  gb
4771
4772        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4773        Leopard nonsense: define the stack context struct separately, make
4774        the ucontext stack field an instance of it.  (Not -sure- if that
4775        was necessary, but :poweropen-target was accidentally on *FEATURES*
4776        and foreign struct layout was using read-time condtionalization to
4777        decide whether or not to use brain-dead structure-alignment rules
4778        leftover from AIX/PowerOpen.
4779
47802006-11-08 12:46  gb
4781
4782        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4783
47842006-11-08 12:40  gb
4785
4786        * compiler/optimizers.lisp: Try to infer/insert the array type when
4787        compiler-macroexpanding MAKE-ARRAY calls.
4788
47892006-11-08 12:39  gb
4790
4791        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4792        :poweropen-alignment rules.
4793
47942006-11-08 12:38  gb
4795
4796        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4797        to poweropen structure layout rules should be an attribute of the
4798        FTD, not done via read-time conditionalization.
4799
48002006-11-08 05:15  gb
4801
4802        * level-1/version.lisp: Bump.
4803
48042006-11-08 05:15  gb
4805
4806        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4807       
4808        TODO: get rid of "bivalent" streams, but allow switching some
4809        streams (sockets) between "character mode" and "binary mode".
4810
48112006-11-08 02:39  gb
4812
4813        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4814
48152006-11-07 21:10  gb
4816
4817        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4818        ASET->%ASET3.
4819
48202006-11-07 20:40  gb
4821
4822        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4823
48242006-11-07 20:39  gb
4825
4826        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4827
48282006-11-07 20:38  gb
4829
4830        * level-0/l0-array.lisp: Use %aref2,%aref3.
4831
48322006-11-07 20:37  gb
4833
4834        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4835        vector-store vinsns.
4836
48372006-11-07 20:37  gb
4838
4839        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4840
48412006-11-07 10:28  gb
4842
4843        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4844        .SPaset3.
4845
48462006-11-07 10:27  gb
4847
4848        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4849
48502006-11-07 10:26  gb
4851
4852        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4853        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4854
48552006-11-07 10:26  gb
4856
4857        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4858        mullw/mulld.
4859
48602006-11-07 04:12  gb
4861
4862        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4863
48642006-11-06 22:07  gb
4865
4866        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4867        :fixnum-vector case.
4868
48692006-11-06 22:04  gb
4870
4871        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4872        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4873        known/declared.
4874
48752006-11-06 22:02  gb
4876
4877        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4878        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4879        versions, but it helps not to have to remember which are
4880        implemented and which aren't.)
4881
48822006-11-06 22:01  gb
4883
4884        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4885
48862006-11-06 22:00  gb
4887
4888        * compiler/nx1.lisp: New %ASET2 handling.
4889
48902006-11-06 21:59  gb
4891
4892        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4893        never assigned to.
4894
48952006-11-05 22:09  gb
4896
4897        * level-1/x86-trap-support.lisp: Try to work around
4898        incompatibilites in Tiger/Leopard headers.
4899
49002006-11-05 22:08  gb
4901
4902        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4903        the foreign function may not exist.
4904
49052006-11-05 20:41  gb
4906
4907        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4908
49092006-11-05 07:55  gb
4910
4911        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4912        x86-64, as well.
4913
49142006-11-05 07:52  gb
4915
4916        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4917
49182006-11-05 07:50  gb
4919
4920        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4921        .SPaset2.
4922
49232006-11-05 07:48  gb
4924
4925        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4926        testing simple-array-ness, add the (possibly 0) displacement from
4927        the header before handling the simple aref of the data vector.
4928
49292006-11-05 07:47  gb
4930
4931        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4932        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4933
49342006-11-05 07:46  gb
4935
4936        * level-1/version.lisp: Bump; new binaries soon.
4937
49382006-11-05 07:46  gb
4939
4940        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4941        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4942        4G seconds after an EINTR on Leopard.
4943
49442006-11-05 07:44  gb
4945
4946        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4947        if any non-fixnum bits would be set in the result.  (Should
4948        probably make this true on all platforms; for PPC64, it's important
4949        for foreign function addresses that're ... suboptimally aligned.)
4950
49512006-11-05 07:42  gb
4952
4953        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4954        %NANOSLEEP's second (by reference) argument contains garbage after
4955        an EINTR.  (The L word, again.)
4956
49572006-11-05 07:41  gb
4958
4959        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4960        into the kernel.
4961
49622006-11-05 07:40  gb
4963
4964        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4965        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4966        MACPTR->FIXNUM return NIL if an address isn't representable as a
4967        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4968        can't return a fixnum on PPC (really just affects PPC64.)
4969
49702006-11-05 07:37  gb
4971
4972        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4973
49742006-11-05 07:36  gb
4975
4976        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4977        2d aref support/changes.
4978
49792006-11-05 07:36  gb
4980
4981        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4982        x8664 wrt 2d aref.  Stll a ways to go.
4983
49842006-11-05 07:35  gb
4985
4986        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4987
49882006-11-04 00:05  gb
4989
4990        * level-1/version.lisp: Bump.
4991
49922006-11-03 23:10  gb
4993
4994        * level-1/ppc-error-signal.lisp: fix parens.
4995
49962006-11-03 23:09  gb
4997
4998        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4999        gvector types contains :struct, not :structure.
5000
50012006-11-03 23:08  gb
5002
5003        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
5004        subprim.
5005       
5006        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5007        in the builtin functions table.
5008
50092006-11-03 15:19  gb
5010
5011        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5012
50132006-11-03 15:18  gb
5014
5015        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5016
50172006-11-03 15:17  gb
5018
5019        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5020        type-error UUOs.
5021
50222006-11-03 15:16  gb
5023
5024        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5025
50262006-11-03 15:16  gb
5027
5028        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5029        (array-header) layout.
5030
50312006-11-03 13:46  gb
5032
5033        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5034        returns its argument if all members are SPECIALIZERS.
5035       
5036        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5037        arguments, for the benefit of people who haven't read the MOP spec
5038        or who don't realize that the MOP defines some things differently
5039        from CLHS.
5040
50412006-11-03 13:38  gb
5042
5043        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5044        to refer to primitive structure type.
5045       
5046        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5047
50482006-11-03 13:37  gb
5049
5050        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5051        :STRUCTURE) is on target-gvector-types.
5052
50532006-11-03 12:53  gb
5054
5055        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5056
50572006-11-03 12:52  gb
5058
5059        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5060         More to come ...
5061
50622006-11-03 12:52  gb
5063
5064        * lisp-kernel/x86-constants64.s: Define array-header layout.
5065
50662006-11-03 12:51  gb
5067
5068        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5069        encodings, new type-error constants.
5070
50712006-11-03 12:50  gb
5072
5073        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5074        traps.
5075
50762006-11-03 12:49  gb
5077
5078        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5079        constant-redefinition CERRORs.
5080
50812006-11-03 12:48  gb
5082
5083        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5084
50852006-11-03 12:47  gb
5086
5087        * level-0/l0-pred.lisp: array--header -> array-header.
5088
50892006-11-03 12:47  gb
5090
5091        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5092        add/change some 2d array stuff.
5093
50942006-11-03 12:43  gb
5095
5096        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5097        subprims; seem to be much (>5x) faster than the lisp/lap versions
5098        (though we can generally be faster still when we know the
5099        element-type and/or know whether the array is simple or explicitly
5100        displaced.)
5101
51022006-11-03 12:41  gb
5103
5104        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5105        related changes.
5106       
5107        Split the code which handles bounds/type-checking in vref out from
5108        the code which actually does the reference, so that the latter can
5109        be used in multidimensional cases.
5110       
5111        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5112        general case.)
5113
51142006-11-03 12:38  gb
5115
5116        * compiler/nx1.lisp: Change handling of 2d-aref.
5117
51182006-11-03 12:37  gb
5119
5120        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5121        general-aref2.  More changes to come (and this may affect
5122        compilation on PPC until some PPC compiler changes are
5123        made/checked-in.)
5124
51252006-11-03 12:35  gb
5126
5127        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5128        the range 128-255, rather than 64-127; more are defined.
5129
51302006-11-02 09:43  gb
5131
5132        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5133
51342006-11-02 09:37  gb
5135
5136        * compiler/arch.lisp: New error constants; work in progress ...
5137
51382006-11-01 11:40  gb
5139
5140        * lisp-kernel/errors.s: Some new constants; more to check in later.
5141
51422006-10-31 03:39  gb
5143
5144        * level-0/l0-io.lisp: You must be reading the OLD rule book
5145        (Leopard and #$EINTR).
5146
51472006-10-31 03:21  gb
5148
5149        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5150        the tcr.  Initialize "addr" before testing it ...
5151
51522006-10-31 03:21  gb
5153
5154        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5155        the tcr.
5156
51572006-10-30 20:40  gb
5158
5159        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5160        expands into something more useful.
5161
51622006-10-30 20:39  gb
5163
5164        * lisp-kernel/ppc-spentry.s: Fix ppc32
5165        misc_ref_double_float_vector.
5166
51672006-10-30 00:24  gb
5168
5169        * level-0/l0-bignum64.lisp: Enable the destructive version of
5170        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5171        provide/fix supporting functions.  Seems to work on ppc64; needs
5172        testing on x8664.
5173
51742006-10-27 17:49  gb
5175
5176        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5177
51782006-10-25 20:36  gb
5179
5180        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5181        variants): always clear the untyi-char.
5182       
5183        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5184        needs an argument.
5185       
5186        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5187        bivalent streams.
5188       
5189        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5190
51912006-10-24 12:35  gb
5192
5193        * level-1/version.lisp: Bump.
5194
51952006-10-24 01:29  gb
5196
5197        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5198        _SPdestbind1 (still used in inlining, sometimes.)
5199
52002006-10-24 01:05  gb
5201
5202        * release-notes.txt: Change the date, add/change some content.
5203
52042006-10-24 01:05  gb
5205
5206        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5207        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5208
52092006-10-24 00:56  gb
5210
5211        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5212        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5213
52142006-10-24 00:55  gb
5215
5216        * level-1/l1-streams.lisp: When recycling
5217        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5218        (Failure to do this can screw up the pretty-printer, among other
5219        things.)
5220
52212006-10-24 00:52  gb
5222
5223        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5224        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5225
52262006-10-23 17:03  gb
5227
5228        * release-notes.txt: Updated; almost ready to go (still a
5229        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5230
52312006-10-23 16:43  gb
5232
5233        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5234        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5235
52362006-10-23 16:42  gb
5237
5238        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5239        STREAM-EXTERNAL-FORMAT) methods.
5240
52412006-10-23 16:41  gb
5242
5243        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5244        stuff.
5245
52462006-10-23 08:27  gb
5247
5248        * level-1/version.lisp: Bump; binaries today, honest.
5249
52502006-10-23 08:27  gb
5251
5252        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5253
52542006-10-23 08:26  gb
5255
5256        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5257        macros were checking for the presence of an input lock ...
5258
52592006-10-23 05:40  gb
5260
5261        * level-1/l1-streams.lisp: Optimize write-string on string streams
5262        a little.
5263
52642006-10-23 05:26  gb
5265
5266        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5267        which evaluates the string form twice; don't do whatever was being
5268        done to default the element type of the string stream.
5269
52702006-10-23 05:24  gb
5271
5272        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5273        keyword/subtype checking if element-type not provided.  (Could also
5274        skip it if it's explicit and obviously OK.)
5275
52762006-10-23 05:22  gb
5277
5278        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5279        "current" allocation if nothing's reserved.
5280
52812006-10-23 05:19  gb
5282
5283        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5284        update_bytes_allocated (sign of "disp").
5285
52862006-10-22 08:02  gb
5287
5288        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5289        form like a PROGN if there are no other forms.
5290
52912006-10-22 08:01  gb
5292
5293        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5294        ioblock functions.
5295       
5296        New string-stream implementation.  Better ...
5297
52982006-10-22 07:59  gb
5299
5300        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5301        before the stream closes.
5302
53032006-10-22 07:59  gb
5304
5305        * lib/pprint.lisp: Don't assume that string output stream strings
5306        have a fill-pointer; use STREAM-POSITION instead.
5307
53082006-10-22 07:57  gb
5309
5310        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5311        functions, after all.
5312       
5313        Go through (new) ioblock-unread-char-function.
5314
53152006-10-22 07:55  gb
5316
5317        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5318        x/s
5319
53202006-10-21 18:46  gb
5321
5322        * level-1/l1-streams.lisp: Typo.
5323
53242006-10-21 18:41  gb
5325
5326        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5327        fields in pseudo sigcontexts.
5328
53292006-10-21 18:40  gb
5330
5331        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5332        twice, etc.)
5333
53342006-10-21 18:35  gb
5335
5336        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5337        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5338        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5339        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5340        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5341
53422006-10-21 16:45  gb
5343
5344        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5345        encodings!
5346
53472006-10-19 13:48  gb
5348
5349        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5350        arg_z - in %safe-get-ptr.
5351
53522006-10-19 13:22  gb
5353
5354        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5355        optional, use #\Sub char-code as replaement char.
5356
53572006-10-19 13:21  gb
5358
5359        * examples/objc-runtime.lisp: Missing close paren.
5360
53612006-10-19 13:19  gb
5362
5363        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5364        strings to/from foreign memory.
5365
53662006-10-19 13:18  gb
5367
5368        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5369
53702006-10-18 08:04  gb
5371
5372        * level-1/version.lisp: Bump.  Binaries later today ?
5373
53742006-10-18 07:38  gb
5375
5376        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5377        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5378        class becomes (or ceases to be) a properly named class.
5379       
5380        The pre-bootstrapping version handles simpler cases of that; use
5381        ALIAS-CLASS to register some early class names as type names.
5382
53832006-10-18 07:36  gb
5384
5385        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5386        system, since only symbols which name properly-named classes are
5387        type specifiers.  Changing the name of a class can either introduce
5388        or remove a properly-named class.
5389       
5390        Classes that have the kernel-p attribute shouldn't have their names
5391        changed casually.
5392
53932006-10-18 07:33  gb
5394
5395        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5396        MAKE-SOCKET, pass it down to whatever function actually creates a
5397        stream socket.
5398
53992006-10-18 02:12  gb
5400
5401        * compiler/X86/x862.lisp: Allow closed-over addresses in
5402        conditional-form, NOT.
5403
54042006-10-18 01:43  gb
5405
5406        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5407        safe_ref_addres.
5408
54092006-10-18 01:43  gb
5410
5411        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5412
54132006-10-18 01:41  gb
5414
5415        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5416        addresses/vcells to nil.
5417
54182006-10-18 01:41  gb
5419
5420        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5421        addresses to NIL.
5422       
5423        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5424        level inline.
5425
54262006-10-18 01:39  gb
5427
5428        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5429        for a few months now.  The disassembler is always the last to know.
5430
54312006-10-17 19:15  gb
5432
5433        * compiler/PPC/PPC32/ppc32-arch.lisp,
5434        compiler/PPC/PPC64/ppc64-arch.lisp,
5435        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5436        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5437        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5438        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5439        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5440        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5441       
5442        Handle memory faults to safe-ref-addres on PPC (so far).
5443       
5444        Try using SAFE-GET-PTR in objc runtime (untested).
5445
54462006-10-17 17:34  gb
5447
5448        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5449        type in acode.
5450
54512006-10-17 14:02  gb
5452
5453        * level-1/l1-unicode.lisp: BOM-ENCODING.
5454
54552006-10-17 14:02  gb
5456
5457        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5458        something.
5459       
5460        Clear the pending-bom flag when seeking.
5461
54622006-10-17 14:01  gb
5463
5464        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5465        ioblock-based character streams.
5466
54672006-10-17 13:45  gb
5468
5469        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5470        *interrupt-level* inline.
5471
54722006-10-17 13:44  gb
5473
5474        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5475        immmediate operand (xuuo).
5476
54772006-10-17 13:39  gb
5478
5479        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5480        when necessary.
5481
54822006-10-17 13:39  gb
5483
5484        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5485        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5486
54872006-10-15 17:51  gb
5488
5489        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5490       
5491        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5492
54932006-10-15 17:51  gb
5494
5495        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5496
54972006-10-15 17:50  gb
5498
5499        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5500
55012006-10-14 07:41  gb
5502
5503        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5504        ENSURING-NODE-TARGET.
5505       
5506        Inline the fixnum case of two-arg numeric comparisons.
5507
55082006-10-14 07:39  gb
5509
5510        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5511        INLINE-SUB2 support.
5512
55132006-10-14 06:30  gb
5514
5515        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5516        generated DEFSTRUCT accessors.
5517
55182006-10-14 06:27  gb
5519
5520        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5521       
5522        Do the fixnum case of two-argument subtraction inline.
5523       
5524        Inline the fixnum case of two-argument numeric comparisons.
5525       
5526        STRUCT-REF avoids typechecking when reckless.
5527
55282006-10-14 06:21  gb
5529
5530        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5531        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5532
55332006-10-14 06:20  gb
5534
5535        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5536        little differently.
5537       
5538        Add xchg-registers.
5539
55402006-10-13 04:54  gb
5541
5542        * compiler/nx1.lisp: Use new NUMCMP operator.
5543
55442006-10-13 04:53  gb
5545
5546        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5547        in effect at call time, not those in effect at definition time.
5548
55492006-10-13 04:50  gb
5550
5551        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5552        inlining issues.
5553
55542006-10-13 04:30  gb
5555
5556        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5557
55582006-10-12 19:46  gb
5559
5560        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5561        "--" is seen.
5562
55632006-10-12 19:45  gb
5564
5565        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5566        newline translation differenly (at the character I/O level, not the
5567        buffer level).
5568       
5569        All character encoding/decoding functions operate on octets, not
5570        necessarily code units.  (The stream encode/decode functions are an
5571        exception; serialization and byte ordering are handled by the
5572        stream.)
5573
55742006-10-09 16:34  gb
5575
5576        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5577        encode a character in (implicit) iso-8859-1.
5578
55792006-10-09 16:33  gb
5580
5581        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5582        a replacement character.
5583
55842006-10-09 16:31  gb
5585
5586        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5587        write/read something, even if it's a replacement character of some
5588        sort.
5589
55902006-10-09 15:19  gb
5591
5592        * level-1/l1-streams.lisp: More stuff about line termination.  When
5593        will this end ?
5594
55952006-10-09 15:19  gb
5596
5597        * lib/chars.lisp: Use a hashtable to map characters to their names.
5598         (Maybe a sparse vector ?).
5599
56002006-10-09 15:18  gb
5601
5602        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5603        their names.  (Maybe a sparse vector ?).
5604       
5605        Define #\Sub and #\Replacement_Character.
5606
56072006-10-08 21:17  gb
5608
5609        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5610        NEW-BACKTRACE for a while now.
5611
56122006-10-08 21:16  gb
5613
5614        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5615        Panther happy.
5616
56172006-10-08 20:30  gb
5618
5619        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5620
56212006-10-08 20:30  gb
5622
5623        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5624        pathname, before it's too late ...
5625
56262006-10-08 20:29  gb
5627
5628        * level-1/l1-unicode.lisp: ASCII, some other changes.
5629
56302006-10-08 20:29  gb
5631
5632        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5633        :line-termination option to MAKE-FD-STREAM.
5634
56352006-10-08 20:28  gb
5636
5637        * level-1/l1-streams.lisp: Yet another line-termination translation
5638        scheme; hopefully, the last for a while. (More tedium before it's
5639        actually installed.)
5640
56412006-10-08 20:27  gb
5642
5643        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5644        #\Paragraph_separator.
5645
56462006-10-07 20:35  gb
5647
5648        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5649
56502006-10-07 20:34  gb
5651
5652        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5653        kernel debugger if interactive streams aren't initialized yet.
5654        (We'd probably get there sooner or later in that case; try to get
5655        there sooner.)
5656
56572006-10-07 20:33  gb
5658
5659        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5660        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5661        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5662        method.)
5663
56642006-10-07 20:32  gb
5665
5666        * level-1/l1-application.lisp: Handle the (new)
5667        -K/--terminal-encoding command-line argument.
5668
56692006-10-07 11:14  gb
5670
5671        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5672        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5673        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5674
56752006-10-07 11:13  gb
5676
5677        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5678        entered when --batch is in effect.
5679
56802006-10-07 11:12  gb
5681
5682        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5683        PROCESS-EXIT-APPLICATION.
5684
56852006-10-07 11:11  gb
5686
5687        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5688        *stdout* here.
5689
56902006-10-06 04:49  gb
5691
5692        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5693        TRANSLATE slot to IO-BUFFER.
5694
56952006-10-06 04:40  gb
5696
5697        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5698
56992006-10-06 04:39  gb
5700
5701        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5702
57032006-10-06 04:38  gb
5704
5705        * level-1/version.lisp: Bump.
5706
57072006-10-06 04:38  gb
5708
5709        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5710        replacement character.
5711
57122006-10-05 14:46  gb
5713
5714        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5715
57162006-10-05 14:46  gb
5717
5718        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5719
57202006-10-05 14:46  gb
5721
5722        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5723        C-like value (all exceptions masked) before doing a callback.  (Not
5724        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5725        value, where most exceptions were unmasked, and this caused FP
5726        exceptions when calling out to foreign code with the "lispy"
5727        tcr.foreign_mxcsr in effect.)
5728       
5729        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5730        the spurious SIGTRAPs, but might be the right idea (and might save
5731        a context switch or two.)
5732       
5733        Mach exception stuff initializes rflags to exception rflags when
5734        arranging to resume thread at handler.  Leaving them uninitialized
5735        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5736        set.
5737
57382006-10-05 06:09  gb
5739
5740        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5741
57422006-10-05 06:09  gb
5743
5744        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5745        #\U+xxxx syntax.
5746
57472006-10-05 06:08  gb
5748
5749        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5750
57512006-10-05 06:07  gb
5752
5753        * level-1/l1-sysio.lisp: Try to get
5754        line-termination/external-format stuff working.
5755
57562006-10-05 05:35  gb
5757
5758        * level-1/l1-streams.lisp: Assume that character data is always
5759        encoded as one or more 8-bit octets.
5760
57612006-10-05 04:59  gb
5762
5763        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5764        just before we make the first one.
5765
57662006-10-02 08:13  gb
5767
5768        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5769        handlers, so we need to make handlers do a sigreturn after
5770        switching off the signal stack, etc.
5771
57722006-10-02 08:11  gb
5773
5774        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5775        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5776        handling for cleanup of tcr pending exception and since we can't
5777        easily restore the signal mask.)
5778       
5779        (Up until this point, SIGRETURN has been a nop on Darwin.)
5780
57812006-10-02 04:59  gb
5782
5783        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5784        earlier.
5785
57862006-10-02 04:47  gb
5787
5788        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5789        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5790        systems <= 10.4).
5791
57922006-10-02 02:46  gb
5793
5794        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5795        Try to make x86-64 version compile under 10.4 again; see if this
5796        breaks post-10.4 compilation.
5797
57982006-10-02 02:33  gb
5799
5800        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5801        x86-exceptions.h: Change things so that they compile for x86-64 on
5802        systems later than 10.4.  Almost certainly break 10.4 compilation
5803        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5804        hours on crap like this, just let me know!)
5805
58062006-09-27 20:33  gb
5807
5808        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5809
58102006-09-27 20:33  gb
5811
5812        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5813
58142006-09-27 05:46  gb
5815
5816        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5817        BASIC-STREAM classes a class prototype.
5818
58192006-09-27 05:45  gb
5820
5821        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5822        initialization, to make it easier to use MAKE-FD-STREAM to open
5823        (seekable) FILE-STREAMs.
5824
58252006-09-27 05:41  gb
5826
5827        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5828        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5829
58302006-09-27 05:39  gb
5831
5832        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5833        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5834        division-by-zero, but that should be masked when in foreign code.)
5835        Don't reload the lisp mxcsr until other registers have been popped,
5836        to make debugging easier in case it's the act of reloading the
5837        mxcsr that causes the spurious trap.)
5838
58392006-09-27 05:36  gb
5840
5841        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5842
58432006-09-27 05:35  gb
5844
5845        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5846        was parenthesized in such a way as to not return the error value on
5847        error.
5848
58492006-09-27 05:34  gb
5850
5851        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5852        passing context into the kernel makes it too difficult to debug/get
5853        backtrace, etc.)
5854
58552006-09-27 05:33  gb
5856
5857        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5858        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5859
58602006-09-27 05:05  gb
5861
5862        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5863        (mostly for BUILT-IN-CLASSes).
5864
58652006-09-26 20:49  gb
5866
5867        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5868        a BASIC-P argument.
5869
58702006-09-26 20:47  gb
5871
5872        * level-1/l1-streams.lisp: More changes.  Imagine that.
5873
58742006-09-26 20:46  gb
5875
5876        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5877        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5878
58792006-09-26 20:43  gb
5880
5881        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5882        take/return strings, not chars.
5883       
5884        Some bom stuff.
5885
58862006-09-24 20:14  gb
5887
5888        * lib/chars.lisp: Check for assumptions about character size.
5889        Remove some %i-isms (fixnum arithmetic), make assertions about type
5890        of char-code.
5891
58922006-09-24 20:12  gb
5893
5894        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5895        CHKBOUNDS function.  Simpler STRING-START-END.
5896
58972006-09-24 20:11  gb
5898
5899        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5900        Probably belongs elsewhere; some encodings may not make it at all
5901        possible.
5902
59032006-09-24 20:07  gb
5904
5905        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5906        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5907
59082006-09-24 20:00  gb
5909
5910        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5911        line-termination slot from ioblock and corresponding arg from
5912        functions which initialize it.
5913
59142006-09-24 19:59  gb
5915
5916        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5917        file-ioblock.
5918
59192006-09-24 19:58  gb
5920
5921        * level-1/l1-unicode.lisp: Buffer translation functions don't
5922        belong here; start thinking about BOM.
5923
59242006-09-24 19:57  gb
5925
5926        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5927        it's been a :u32const for the last few weeks ...
5928
59292006-09-24 04:29  gb
5930
5931        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5932        the code is within its bounds.
5933
59342006-09-24 04:27  gb
5935
5936        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5937        mappings in a vector and a hash table, rather than in an alist.
5938
59392006-09-24 04:26  gb
5940
5941        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5942        character constant fasl encoding ($fasl-char).
5943
59442006-09-23 05:31  gb
5945
5946        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5947        sure which are the most important.)
5948
59492006-09-23 05:29  gb
5950
5951        * level-1/l1-sysio.lisp: Start to separate
5952        line-termination/external-format stuff.
5953
59542006-09-23 05:28  gb
5955
5956        * level-1/l1-streams.lisp: Lots-o-changes.
5957
59582006-09-23 05:28  gb
5959
5960        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5961        UTF-8 (mostly for debugging utf-8 ...)
5962
59632006-09-21 04:07  gb
5964
5965        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5966        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5967        clobbered r11, sometimes didn't.)
5968
59692006-09-21 04:05  gb
5970
5971        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5972
59732006-09-21 04:05  gb
5974
5975        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5976        callback_for_interrupt.
5977
59782006-09-21 04:04  gb
5979
5980        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5981        x86-64 ucontext/mcontext on Darwin.
5982
59832006-09-21 04:02  gb
5984
5985        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5986        flavors.
5987       
5988        Add a type decl in %nanosleep.
5989
59902006-09-21 04:01  gb
5991
5992        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5993        vinsns.
5994
59952006-09-21 04:01  gb
5996
5997        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5998        values.  (Probably only matters in a few cases, like the Darwin
5999        x86-64 version of #_nanosleep, which returns a non-sign-extended
6000        "int" value if the sleep is interruted.)
6001
60022006-09-20 06:34  gb
6003
6004        * level-1/version.lisp: Bump.
6005
60062006-09-20 04:24  gb
6007
6008        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6009        slight improvements in signed-byte boxing, typechecking.
6010
60112006-09-20 04:22  gb
6012
6013        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6014
60152006-09-20 04:21  gb
6016
6017        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6018
60192006-09-20 04:21  gb
6020
6021        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6022
60232006-09-20 04:20  gb
6024
6025        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6026        versions.  Need a "logical" UTF-16, which deals with byte-order
6027        marks and a means of installing a concrete encoding.  Needs
6028        testing.
6029
60302006-09-20 04:15  gb
6031
6032        * level-1/l1-streams.lisp: Numerous changes.
6033
60342006-09-20 04:15  gb
6035
6036        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6037
60382006-09-20 04:14  gb
6039
6040        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6041        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6042
60432006-09-20 04:12  gb
6044
6045        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6046        8,16,32,64
6047
60482006-09-19 01:38  gb
6049
6050        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6051        vinsns for REQUIRE-[US][8,16,32,64]
6052
60532006-09-19 01:37  gb
6054
6055        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6056        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6057        64).
6058
60592006-09-19 01:36  gb
6060
6061        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6062
60632006-09-19 01:36  gb
6064
6065        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6066        operators.
6067
60682006-09-19 01:34  gb
6069
6070        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6071        require-[us][8,16,32,64] when possible.
6072
60732006-09-19 01:34  gb
6074
6075        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6076
60772006-09-19 01:33  gb
6078
6079        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6080
60812006-09-19 01:15  gb
6082
6083        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6084        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6085
60862006-09-19 00:36  gb
6087
6088        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6089
60902006-09-18 21:42  gb
6091
6092        * lib/macros.lisp: Macros for locking the input/output locks of an
6093        ioblock, assuming that it exists.
6094
60952006-09-17 00:45  gb
6096
6097        * level-1/l1-streams.lisp: more changes
6098
60992006-09-13 06:52  gb
6100
6101        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6102        WRITE-STRING, TERPRI.
6103
61042006-09-13 06:08  gb
6105
6106        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6107
61082006-09-13 06:07  gb
6109
6110        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6111        named encoding isn't defined.
6112       
6113        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6114
61152006-09-13 06:06  gb
6116
6117        * level-1/l1-streams.lisp: More functions in the ioblock, some
6118        support for 8-bit encodings (like utf-8).  Not finished, but
6119        getting hard to bootstrap; need to check in and build on all
6120        platforms before it gets even harder.
6121
61222006-09-12 05:34  gb
6123
6124        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6125        %copy-ivector-to-pointer) in BUG.
6126
61272006-09-12 05:31  gb
6128
6129        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6130        altstack_signal_handler is entered in foreign code.  (Maybe want to
6131        signal a lisp error in some cases, but this is currently fatal and
6132        we might as well die earlier than with a stack overflow.)
6133
61342006-09-12 05:29  gb
6135
6136        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6137        direction right on FreeBSD.  (Much better than randomly scribbling
6138        on memory in the GC, as the FreeBSD port has been doing for months
6139        now ...)
6140
61412006-09-11 21:31  gb
6142
6143        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6144        intersection.
6145
61462006-09-11 21:21  gb
6147
6148        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6149
61502006-09-11 20:10  gb
6151
6152        * level-1/l1-unicode.lisp: Character encodings contain a
6153        LITERAL-CHAR-CODE-LIMIT field.
6154
61552006-09-11 20:09  gb
6156
6157        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6158        functionality for encoded streams.
6159
61602006-09-11 20:08  gb
6161
6162        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6163
61642006-09-09 04:39  gb
6165
6166        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6167        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6168
61692006-09-09 04:21  gb
6170
6171        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6172        reasonable for ^c syntax; don't do MOD for octal.
6173
61742006-09-09 04:21  gb
6175
6176        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6177        agains boxed Unicode limit
6178
61792006-09-09 03:56  gb
6180
6181        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6182        x8664 functions, hash tables.  (PPC versions should handle hash
6183        table key movement.)
6184
61852006-09-08 22:47  gb
6186
6187        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6188        #x100.
6189
61902006-09-08 22:38  gb
6191
6192        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6193        FIXNUM->CHAR: return NIL for surrogate pairs.
6194
61952006-09-08 22:33  gb
6196
6197        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6198
61992006-09-08 22:31  gb
6200
6201        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6202        sanity-check fn/lr).
6203
62042006-09-08 18:55  gb
6205
6206        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6207        necessarily want arbitrary expressions to be compiled unsafely; do
6208        want to avoid a little type-checking sometimes.)
6209
62102006-09-08 18:52  gb
6211
6212        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6213        for values in the surrogate-pairs range.  (There are other things
6214        that it could plausibly return NIL for.)
6215
62162006-09-08 18:51  gb
6217
6218        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6219        now, just purify strings.
6220
62212006-09-08 18:48  gb
6222
6223        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6224        8), which is still useful (and exactly what it used to do.)
6225
62262006-09-08 18:47  gb
6227
6228        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6229
62302006-09-08 18:44  gb
6231
6232        * level-1/level-1.lisp: Load l1-unicode.
6233
62342006-09-08 18:44  gb
6235
6236        * level-1/l1-unicode.lisp: New file.
6237
62382006-09-07 03:50  gb
6239
6240        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6241
62422006-09-07 03:44  gb
6243
6244        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6245        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6246        attribute of the backend (may need more pure space on x86-64.)
6247
62482006-09-07 03:43  gb
6249
6250        * lisp-kernel/image.h: Bump abi version.
6251
62522006-09-07 03:43  gb
6253
6254        * level-1/version.lisp: Bump.
6255
62562006-09-07 02:58  gb
6257
6258        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6259        seems to mask synchronous signals.  Unmask them in signal handlers.
6260
62612006-09-07 02:57  gb
6262
6263        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6264        signal mask.
6265
62662006-09-07 02:56  gb
6267
6268        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6269        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6270        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6271        (char are 32 bits wide on all platforms now.)
6272
62732006-09-07 00:40  gb
6274
6275        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6276        SIGNUM_FOR_PROCESS_INTERRUPT.
6277
62782006-09-07 00:12  gb
6279
6280        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6281        box_fixnum_no_flags.
6282
62832006-09-07 00:12  gb
6284
6285        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6286        vice imul).
6287
62882006-09-06 21:18  gb
6289
6290        * compiler/X86/X8664/x8664-arch.lisp: Need
6291        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6292
62932006-09-06 18:37  gb
6294
6295        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6296        strings.
6297
62982006-09-06 18:36  gb
6299
6300        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6301        typecodes.
6302
63032006-09-06 18:36  gb
6304
6305        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6306        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6307
63082006-09-06 18:35  gb
6309
6310        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6311        contains entry for 32-bit BASE-CHAR.
6312
63132006-09-06 18:35  gb
6314
6315        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6316        extracting typecodes.
6317
63182006-09-06 18:34  gb
6319
6320        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6321        32-bit-chars.
6322
63232006-09-06 18:33  gb
6324
6325        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6326        :rcontext pseudo-register name until the target backend is in
6327        place.
6328
63292006-09-06 16:39  gb
6330
6331        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6332        stuff for x8664.
6333
63342006-09-06 16:39  gb
6335
6336        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6337        don't mix!
6338
63392006-09-06 16:38  gb
6340
6341        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6342
63432006-09-06 16:38  gb
6344
6345        * level-1/linux-files.lisp: process input/output: don't assume
6346        8-bit strings.
6347
63482006-09-06 14:42  gb
6349
6350        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6351        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6352        (since that creates confustion when cross-compiling from a
6353        non-poweropen host.)
6354
63552006-09-06 00:08  gb
6356
6357        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6358        8-bit char stuff.
6359
63602006-09-06 00:08  gb
6361
6362        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6363        here.
6364
63652006-09-05 22:49  gb
6366
6367        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6368        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6369
63702006-09-05 22:42  gb
6371
6372        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6373        of a non-simple string, understand char width issues.
6374
63752006-09-05 22:41  gb
6376
6377        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6378
63792006-09-05 22:40  gb
6380
6381        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6382        string type.
6383
63842006-09-05 22:39  gb
6385
6386        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6387
63882006-09-05 22:38  gb
6389
6390        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6391
63922006-09-05 09:13  gb
6393
6394        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6395        32-bit chars, too.
6396
63972006-09-05 09:01  gb
6398
6399        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6400        defaults to 32-bit chars.
6401
64022006-09-05 05:18  gb
6403
6404        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6405
64062006-09-05 05:18  gb
6407
6408        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6409        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6410
64112006-09-05 05:17  gb
6412
6413        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6414        for char size.
6415
64162006-09-05 05:16  gb
6417
6418        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6419        strings.
6420
64212006-09-05 05:15  gb
6422
6423        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6424        lisp_char_code; this may be more portable.
6425
64262006-09-05 05:14  gb
6427
6428        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6429
64302006-09-05 05:13  gb
6431
6432        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6433        8-bit char/strings.
6434
64352006-09-05 05:13  gb
6436
6437        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6438        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6439        the coding system in use.)
6440
64412006-09-05 05:09  gb
6442
6443        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6444        assume 8-bit strings.
6445
64462006-09-05 05:08  gb
6447
6448        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6449
64502006-09-05 05:07  gb
6451
6452        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6453        when #-target-8-bit-chars.
6454
64552006-09-05 05:06  gb
6456
6457        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6458        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6459
64602006-09-05 05:05  gb
6461
6462        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6463        :SIMPLE-STRING case with constant index.
6464
64652006-09-04 17:44  gb
6466
6467        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6468        "unsigned char", and cross fingers.
6469
64702006-09-04 17:38  gb
6471
6472        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6473        lisp_char_code type, use it when printing lisp string in the kernel
6474        debugger.
6475
64762006-09-04 17:28  gb
6477
6478        * level-1/version.lisp: Bump.
6479
64802006-09-04 17:18  gb
6481
6482        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6483        conditionalized backwards in PPC64 %INIT-MISC.
6484
64852006-09-04 17:05  gb
6486
6487        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6488        from the target arch (for bootstrapping.)
6489
64902006-09-04 17:04  gb
6491
6492        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6493        type of rdtab.ttab.
6494       
6495        Don't treat (code-char #xca) as whitespace; do treat (code-char
6496        #xa0) as whitespace.  (The former happens to be how the latter was
6497        encoded in MacRoman.)
6498       
6499        Handle U+<hex> syntax in NAME-CHAR.
6500
65012006-09-04 16:16  gb
6502
6503        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6504        and the char code with #xff to get the low byte.
6505
65062006-09-04 16:15  gb
6507
6508        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6509        and the char code with #xff or 255., not with #x255.  (Cause lots
6510        of wackiness, mostly in readtable initialization.)
6511
65122006-09-04 16:12  gb
6513
6514        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6515        u8->char (which is no more) in %CHAR-CODE.
6516
65172006-09-04 06:04  gb
6518
6519        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6520        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6521
65222006-09-04 06:03  gb
6523
6524        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6525        assertion.
6526
65272006-09-04 03:44  gb
6528
6529        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6530
65312006-09-04 03:43  gb
6532
6533        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6534        crf case of UNBOX-BASE-CHAR.
6535
65362006-09-04 02:30  gb
6537
6538        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6539        error.
6540
65412006-09-04 02:29  gb
6542
6543        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6544        size.
6545
65462006-09-04 02:26  gb
6547
6548        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6549        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6550        CHAR_SIZE_32.
6551
65522006-09-04 02:24  gb
6553
6554        * compiler/PPC/PPC32/ppc32-arch.lisp,
6555        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6556        compiler/PPC/PPC64/ppc64-arch.lisp,
6557        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6558        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6559
65602006-09-04 02:23  gb
6561
6562        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6563        32-bit characters.
6564
65652006-09-04 02:22  gb
6566
6567        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6568
65692006-09-03 16:03  gb
6570
6571        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6572        conditionalize new string types.
6573
65742006-09-03 16:03  gb
6575
6576        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6577        string element size.
6578
65792006-09-03 16:02  gb
6580
6581        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6582        level-0/l0-pred.lisp: Sketch out new string types (read-time
6583        conditionalized.)
6584
65852006-09-03 15:02  gb
6586
6587        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6588        bootstrapping.
6589
65902006-09-03 14:20  gb
6591
6592        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6593
65942006-09-03 13:22  gb
6595
6596        * compiler/: X86/X8664/x8664-backend.lisp,
6597        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6598        :target-8-bit-chars on target features.
6599
66002006-09-03 13:21  gb
6601
6602        * level-0/l0-int.lisp: Some comments/indentation.
6603
66042006-09-03 13:01  gb
6605
6606        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6607        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6608
66092006-09-02 11:24  gb
6610
6611        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6612
66132006-09-02 11:15  gb
6614
6615        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6616        a hex digit.
6617
66182006-09-02 11:11  gb
6619
6620        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6621        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6622       
6623        Don't do the whole msg_server here; just do the exc_server thing.
6624       
6625        Fix a couple of Mach exception-handling bugs; at least one more may
6626        remain.
6627
66282006-09-02 11:07  gb
6629
6630        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6631        pseudo_sigreturn.
6632       
6633        Still get spurious SIGTRAPs.
6634
66352006-09-02 11:06  gb
6636
6637        * lisp-kernel/thread_manager.c: Define some things in terms of
6638        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6639       
6640        sem_wait_forever() does repeated timed waits, since I thought that
6641        Darwin was having trouble interrpting things that waited
6642        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6643
66442006-09-02 11:03  gb
6645
6646        * lisp-kernel/Threads.h: Define some things in terms of
6647        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6648        2006, Darwin still doesn't implement enough POSIX semaphore
6649        functionality to make it possible to avoid the use of Mach
6650        semaphores.
6651
66522006-09-02 11:01  gb
6653
6654        * lib/db-io.lisp:
6655        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6656        involved.
6657
66582006-09-02 11:01  gb
6659
6660        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6661        aren't bogus objects.
6662
66632006-09-02 11:00  gb
6664
6665        * level-1/l1-streams.lisp: Try to avoid things like
6666        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6667
66682006-09-02 10:59  gb
6669
6670        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6671        FORCE-OUTPUT.
6672
66732006-09-02 10:57  gb
6674
6675        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6676        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6677       
6678        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6679        chars.
6680       
6681        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6682
66832006-09-02 10:55  gb
6684
6685        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6686        don't assume 8-bit chars.
6687
66882006-08-28 17:35  gb
6689
6690        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6691        misc_set_single_float_vector.
6692
66932006-08-28 17:01  gb
6694
6695        * xdump/faslenv.lisp: Bump max fasl version.
6696
66972006-08-28 16:48  gb
6698
6699        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6700
67012006-08-28 16:33  gb
6702
6703        * xdump/faslenv.lisp: Bump (max) fasl version.
6704
67052006-08-28 16:30  gb
6706
6707        * xdump/xfasload.lisp: xloader was missing a few new ops.
6708
67092006-08-28 05:34  gb
6710
6711        * xdump/xfasload.lisp: New string stuff here, too.
6712
67132006-08-28 05:28  gb
6714
6715        * level-0/nfasload.lisp: New string stuff.
6716
67172006-08-28 04:57  gb
6718
6719        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6720        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6721
67222006-08-28 04:57  gb
6723
6724        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6725        STREAM-READ-CHAR, since it may be faster in some cases.
6726
67272006-08-28 04:56  gb
6728
6729        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6730        (don't assume ioblock-based stream.)
6731
67322006-08-28 04:55  gb
6733
6734        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6735
67362006-08-28 04:55  gb
6737
6738        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6739         (Maybe not even cosmetic.)
6740
67412006-08-28 04:54  gb
6742
6743        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6744        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6745
67462006-08-28 04:53  gb
6747
6748        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6749
67502006-08-28 04:52  gb
6751
6752        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6753        ?  For how long will limit be 2^8 ?
6754
67552006-08-28 04:51  gb
6756
6757        * level-0/nfasload.lisp: More fasl ops.
6758
67592006-08-28 04:51  gb
6760
6761        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6762        u8-vref stuff.
6763
67642006-08-28 04:50  gb
6765
6766        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6767        not be the best way to do this.
6768
67692006-08-26 13:58  gb
6770
6771        * release-notes.txt: Updated.
6772
67732006-08-26 13:50  gb
6774
6775        * release-notes.txt: Updated.
6776
67772006-08-26 13:50  gb
6778
6779        * darwin-x86-headers64/libc/.cvsignore: Added.
6780
67812006-08-26 03:17  gb
6782
6783        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6784
67852006-08-26 03:12  gb
6786
6787        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6788        problems as always, but avoids problems with Darwin x86-64 ld64
6789        segfaulting for unknown reasons.
6790
67912006-08-26 03:11  gb
6792
6793        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6794        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6795        that we can't just return to after switching off of the alt stack.)
6796
67972006-08-26 03:08  gb
6798
6799        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6800        deciding whether or not to signal overflow.
6801
68022006-08-26 03:08  gb
6803
6804        * level-1/x86-trap-support.lisp: Need an indirection to access
6805        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6806        mcontext64.ss.
6807
68082006-08-26 03:06  gb
6809
6810        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6811        easier to step through.
6812
68132006-08-26 03:05  gb
6814
6815        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6816        in case.
6817
68182006-08-25 20:35  gb
6819
6820        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6821        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6822        REMOVE-AUTO-FLUSH-STREAM.
6823       
6824        Export them, too.
6825
68262006-08-25 20:22  gb
6827
6828        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6829        STREAM-READ-LINE.
6830
68312006-08-25 20:22  gb
6832
6833        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6834        most once but doesn't have to be the last clause.
6835
68362006-08-25 20:21  gb
6837
6838        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6839        INPUT-STREAM.
6840       
6841        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6842
68432006-08-25 20:19  gb
6844
6845        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6846        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6847        so unlock those streams with extreme prejudice before closing them.
6848
68492006-08-25 20:18  gb
6850
6851        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6852        code that assumed that interfered with handling of relative logical
6853        pathnames.
6854
68552006-08-25 20:17  gb
6856
6857        * level-1/l1-events.lisp: Rename EVENT-POLL to
6858        AUTO-FLUSH-INTERACTIVE-STREAMS.
6859       
6860        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6861        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6862        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6863       
6864        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6865       
6866        REMOVE-AUTOFLUSH-STREAM.
6867
68682006-08-25 20:13  gb
6869
6870        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6871        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6872
68732006-08-23 22:59  gb
6874
6875        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6876        SIGFPE.
6877       
6878        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6879
68802006-08-23 22:58  gb
6881
6882        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6883        pretty casual about causing spurious exceptions, so ignore them.
6884
68852006-08-23 22:57  gb
6886
6887        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6888        version, with different signals to be ignored by gdb.
6889
68902006-08-23 22:56  gb
6891
6892        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6893        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6894        Use int $0 instead.
6895
68962006-08-23 22:55  gb
6897
6898        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6899        support; may need more work.
6900
69012006-08-22 02:08  gb
6902
6903        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6904        for printing integers), since it seems to need access to pthread
6905        data (and calling print_lisp_object() from GDB might fail if %gs is
6906        pointing at the lisp TCR.)
6907
69082006-08-22 02:06  gb
6909
6910        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6911        earlier in _SPffcall, before entering foreign context.  (Need to
6912        check PPC version(s) as well.)
6913       
6914        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6915        between foreign code and lisp.
6916
69172006-08-22 02:04  gb
6918
6919        * lisp-kernel/x86-macros.s: Fix a typo.
6920
69212006-08-22 02:04  gb
6922
6923        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6924
69252006-08-22 02:03  gb
6926
6927        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6928        exception handling code.
6929       
6930        Do the DARWIN_GS_HACK things to overload %gs.
6931
69322006-08-22 02:02  gb
6933
6934        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6935        for DarwinX8664.
6936
69372006-08-22 02:01  gb
6938
6939        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6940        should really have tested WORD_SIZE.
6941       
6942        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6943        not be necessary.)
6944       
6945        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6946
69472006-08-22 01:59  gb
6948
6949        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6950        x8664.
6951       
6952        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6953
69542006-08-22 01:58  gb
6955
6956        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6957        FreeBSDX664, DarwinX8664.
6958
69592006-08-22 01:57  gb
6960
6961        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6962        lower seg1addr.
6963       
6964        Something in the (m4-generated) symbolic info in some .s files is
6965        screwy and causes ld64 to segfault; it's currently necesssary to
6966        use "strip -S" on the assembler-generated .o files.
6967
69682006-08-22 01:55  gb
6969
6970        * scripts/openmcl64: Untested changes for Darwinx8664.
6971
69722006-08-22 01:54  gb
6973
6974        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6975        xload-backend-info (compiler target is :darwinx8664, not
6976        :linuxx8664).
6977
69782006-08-22 01:53  gb
6979
6980        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6981        cross-compiling to x86 from x86.
6982
69832006-08-22 01:52  gb
6984
6985        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6986        (not :DARWINPPC-TARGET).
6987
69882006-08-22 01:50  gb
6989
6990        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6991
69922006-08-22 01:50  gb
6993
6994        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6995
69962006-08-22 01:49  gb
6997
6998        * level-1/version.lisp: Bump.
6999
70002006-08-22 01:49  gb
7001
7002        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
7003        BASIC-STREAMs.
7004
70052006-08-22 01:48  gb
7006
7007        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7008        DARWIN-TARGET, not DARWINPPC-TARGET.
7009
70102006-08-22 01:47  gb
7011
7012        * level-0/l0-init.lisp: DarwinX8664 *features*.
7013
70142006-08-22 01:47  gb
7015
7016        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7017        really want to be DARWIN-TARGET.
7018
70192006-08-22 01:46  gb
7020
7021        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7022        DarwinX8664.
7023
70242006-08-22 01:45  gb
7025
7026        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7027        compiling natively.
7028       
7029        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7030
70312006-08-22 01:44  gb
7032
7033        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7034        is defined, even on x86.  Use it if not compiling natively on x86.
7035
70362006-08-20 23:59  gb
7037
7038        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7039
70402006-08-20 23:58  gb
7041
7042        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7043
70442006-08-20 23:58  gb
7045
7046        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7047        prototypes for DARWIN_GS_HACK %gs segment switching.
7048
70492006-08-20 23:57  gb
7050
7051        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7052        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7053       
7054        This isn't so bad, but doing it around every ff-call might be.
7055
70562006-08-20 23:56  gb
7057
7058        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7059
70602006-08-20 23:53  gb
7061
7062        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7063
70642006-08-20 23:51  gb
7065
7066        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7067
70682006-08-20 23:51  gb
7069
7070        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7071        also temporary.
7072
70732006-08-20 23:50  gb
7074
7075        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7076        mcontext64 in x8664 Darwin is temporary.
7077
70782006-08-20 20:35  gb
7079
7080        * library/darwinx664-syscalls.lisp: typo
7081
70822006-08-20 20:35  gb
7083
7084        * library/darwinx8664-syscalls.lisp: spell name right
7085
70862006-08-20 17:10  gb
7087
7088        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7089
70902006-08-20 17:10  gb
7091
7092        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7093        (do other things still use read-time conditionals ?)
7094
70952006-08-20 17:09  gb
7096
7097        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7098        setup syscall mask.
7099
71002006-08-20 17:08  gb
7101
7102        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7103        well.
7104
71052006-08-20 17:06  gb
7106
7107        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7108        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7109        word-size issues.)
7110
71112006-08-20 17:03  gb
7112
7113        * library/darwinppc-syscalls.lisp: Mask for PPC.
7114
71152006-08-20 17:02  gb
7116
7117        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7118        level-1/linux-files.lisp: Syscall conditionalization.
7119
71202006-08-20 17:01  gb
7121
7122        * level-1/l1-streams.lisp: Syscall conditionalization.
7123       
7124        SELECTION-INPUT-STREAM created with :sharing :lock.
7125
71262006-08-20 17:00  gb
7127
7128        * examples/objc-runtime.lisp: Fencepost in
7129        POINTER-IN-CFSTRING-SECTION-P.
7130
71312006-08-20 16:16  gb
7132
7133        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7134
71352006-08-18 09:50  gb
7136
7137        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7138        x8664.  Should do this on PPC as well, and should probably offer
7139        some backward-compatible behavior for reader.
7140
71412006-08-18 09:47  gb
7142
7143        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7144        backend a little.
7145       
7146        Explicily define lisp-context-register slot in each backend (%gs
7147        for those imolementations that follow the standard ABI, %fs for
7148        Darwin.)
7149
71502006-08-18 09:44  gb
7151
7152        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7153        necessary.
7154
71552006-08-18 09:43  gb
7156
7157        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7158        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7159        slot.
7160
71612006-08-18 09:42  gb
7162
7163        * compiler/backend.lisp: Backend now has a lisp-context-register
7164        slot.
7165
71662006-08-18 09:42  gb
7167
7168        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7169
71702006-08-18 09:40  gb
7171
7172        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7173        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7174        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7175        and play like the other children.
7176
71772006-08-18 09:29  gb
7178
7179        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7180        code from the PPC version and tweak it a little; needs more work.
7181
71822006-08-18 09:27  gb
7183
7184        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7185        conditionalization.
7186
71872006-08-18 09:25  gb
7188
7189        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7190       
7191        Generate an equate for HAVE_TLS.
7192
71932006-08-18 09:23  gb
7194
7195        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7196
71972006-08-18 09:19  gb
7198
7199        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7200        absolute jumps, prefers slower ones.
7201       
7202        Move lock prefixes to their own lines, to satisfy you-know-who.
7203       
7204        If we don't have thread-local-storage (TLS), it's hard to avoid the
7205        get_tcr() call on each calback.
7206
72072006-08-18 09:13  gb
7208
7209        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7210        that we HAVE_TLS.
7211
72122006-08-17 10:41  phil
7213
7214        * examples/FFI/:
7215        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7216        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7217        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7218        Using-basic-calls-and-types/Readme.rtf,
7219        Using-basic-calls-and-types/typetest-compile.sh,
7220        Using-basic-calls-and-types/typetest.c,
7221        Using-basic-calls-and-types/typetest.lisp: Initial version
7222
72232006-08-17 10:40  phil
7224
7225        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7226        [no log message]
7227
72282006-08-08 13:07  gb
7229
7230        * lisp-kernel/darwinx8664/Makefile: New file.
7231
72322006-08-08 13:07  gb
7233
7234        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7235
72362006-08-08 13:06  gb
7237
7238        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7239
72402006-08-08 13:05  gb
7241
7242        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7243        instructions on the same line as the locked instruction.  (Maybe
7244        there's a better way to do this, than just pretending that lock is
7245        a standalone instruction, but that lock instruction does seem to be
7246        treated as a prefix.)
7247
72482006-08-08 13:03  gb
7249
7250        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7251        dlfcn) on Darwin.
7252
72532006-08-08 13:02  gb
7254
7255        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7256        doesn't define mcontext64, but lots of other things reference it.
7257        #define it here for now, but that'll likely break when the headers
7258        are fixed.
7259
72602006-08-08 12:58  gb
7261
7262        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7263
72642006-08-08 12:58  gb
7265
7266        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7267        x8664/Darwin.
7268
72692006-07-29 08:41  gb
7270
7271        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7272         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7273        needs READ/WRITE- SEQUENCE support.
7274
72752006-07-29 07:39  gb
7276
7277        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7278        lock.  TODO: evaluate whether resources are worthwhile;  used for
7279        string-output-stream allocation and DELETE-DUPLICATES.
7280
72812006-07-29 06:27  gb
7282
7283        * library/lispequ.lisp: Resources aren't thread-private, need
7284        locks.
7285
72862006-07-29 06:26  gb
7287
7288        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7289        BASIC-STREAMs.
7290
72912006-07-29 06:26  gb
7292
7293        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7294        default.
7295
72962006-07-29 06:25  gb
7297
7298        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7299        been used in 10 or 12 years.
7300
73012006-07-29 03:40  gb
7302
7303        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7304
73052006-07-29 03:40  gb
7306
7307        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7308        for now.
7309
73102006-07-29 03:39  gb
7311
7312        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7313        makes one more slot in BASIC-FILE-STREAM.
7314
73152006-07-28 04:17  gb
7316
7317        * level-1/version.lisp: Bump.
7318
73192006-07-28 04:15  gb
7320
7321        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7322        in IOBLOCK.
7323
73242006-07-28 01:17  gb
7325
7326        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7327
73282006-07-28 01:16  gb
7329
7330        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7331
73322006-07-28 00:58  gb
7333
7334        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7335        output.
7336       
7337        (SLIME probably faces the same issue; should probably do something
7338        in the auto-flush case.  Of course, it's hard to know just what to
7339        do in that case. or at least what to do safely in that case.)
7340
73412006-07-28 00:49  gb
7342
7343        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7344        FUNDAMENTAL-FILE-STREAM.
7345
73462006-07-28 00:49  gb
7347
7348        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7349
73502006-07-28 00:48  gb
7351
7352        * library/lispequ.lisp: Need an explicit
7353        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7354
73552006-07-28 00:47  gb
7356
7357        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7358
73592006-07-25 03:48  gb
7360
7361        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7362
73632006-07-24 04:55  gb
7364
7365        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7366        BASIC-STREAMs.
7367
73682006-07-24 04:55  gb
7369
7370        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7371        appear.
7372
73732006-07-24 04:51  gb
7374
7375        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7376
73772006-07-24 02:43  gb
7378
7379        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7380        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7381        implementation of it (and BASIC-FILE-STREAM soon will be.)
7382
73832006-07-23 03:05  gb
7384
7385        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7386
73872006-07-23 03:03  gb
7388
7389        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7390        and is inlined.
7391       
7392        Some bug fixes; STREAM class no longer has slots.
7393       
7394        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7395        variants; fix read-byte botch (should vector according to
7396        element-type.)
7397
73982006-07-23 02:54  gb
7399
7400        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7401        STREAM-IOBLOCK now takes 2 required args.
7402
74032006-07-23 02:54  gb
7404
7405        * level-1/version.lisp: Bump.
7406
74072006-07-23 02:53  gb
7408
7409        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7410        like.
7411
74122006-07-23 02:53  gb
7413
7414        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7415       
7416        Likewise WITH-EAGAIN.
7417
74182006-07-23 01:12  gb
7419
7420        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7421        l1-sockets.lisp: Fix a few botches.
7422       
7423        :private arg to stream creation primitives replaced with :sharing,
7424        which can have values:
7425       
7426         :private (the default; stream can only be accessed by the creating
7427        thread)
7428         :lock  (the old, often slow, default); most accesses to stream
7429        involve locking
7430         :nil or :external (stream code doesn't enforce exclusion).
7431
74322006-07-22 23:57  gb
7433
7434        * level-1/l1-streams.lisp: Bootstrapping stuff.
7435       
7436        Move along, nothing to see here.
7437
74382006-07-20 03:43  gb
7439
7440        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7441        l1-sysio.lisp: First (rough) cut at making streams "private"
7442        (effectively always locked by the "owning" thread) to reduce some
7443        locking overhead.  More to come, some of which will be a little
7444        tricky to bootstrap.
7445
74462006-07-20 01:09  gb
7447
7448        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7449        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7450        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7451
74522006-07-20 01:09  gb
7453
7454        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7455
74562006-07-20 01:08  gb
7457
7458        * level-1/version.lisp: Bump.
7459
74602006-07-20 01:07  gb
7461
7462        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7463         A little tricky to bootstrap.
7464
74652006-07-20 01:05  gb
7466
7467        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7468        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7469        (istruct-based) lisp-thread accessors.
7470
74712006-07-20 01:02  gb
7472
7473        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7474        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7475        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7476        BASIC-STREAM.
7477
74782006-07-15 15:02  gb
7479
7480        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7481        IMPOSSIBLE-NUMBER condition :REPORT method.
7482
74832006-07-15 15:00  gb
7484
7485        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7486        simple vector operations unless we're sure that the vector is a
7487        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7488        leaping into the simple-typed-vector case when the element-type was
7489        known but the vector wasn't known to be SIMPLE.
7490
74912006-07-14 05:57  gb
7492
7493        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7494
74952006-07-13 16:01  gb
7496
7497        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7498        know about FIXNUM arrays.
7499
75002006-07-11 14:23  gb
7501
7502        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7503        (2-address instructions) in natural logical, arithmetic operations.
7504
75052006-07-05 02:38  gb
7506
7507        * release-notes.txt: Update.
7508
75092006-07-05 02:22  gb
7510
7511        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7512        its removal needs to be better publicized.
7513
75142006-07-04 22:24  gb
7515
7516        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7517        PROGRAM arg to RUN-PROGRAM.
7518
75192006-07-04 22:23  gb
7520
7521        * level-1/version.lisp: Bump.
7522
75232006-06-29 02:11  gb
7524
7525        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7526        image-abi-version.
7527
75282006-06-28 05:24  gb
7529
7530        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7531        pointer on DarwinPPC32 (at the very least, that platform's
7532        xFindSymbol gets confused by anything but a null pointer/global
7533        lookup.)
7534
75352006-06-28 05:09  gb
7536
7537        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7538        "Alpha", which may be a bit generous (pretty regular deadlock,
7539        random thread creation errors, other bugs.)
7540
75412006-06-28 05:07  gb
7542
7543        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7544        x86-64 version.
7545
75462006-06-28 04:04  gb
7547
7548        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7549        identifying the cause of XMM FP exceptions.  Try to do that by
7550        looking at MXCSR bits.
7551
75522006-06-28 04:03  gb
7553
7554        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7555        indicate error return.
7556
75572006-06-28 04:03  gb
7558
7559        * level-1/: l1-sockets.lisp, linux-files.lisp,
7560        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7561
75622006-06-28 04:02  gb
7563
7564        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7565        breakpoint.
7566
75672006-06-27 18:08  gb
7568
7569        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7570
75712006-06-27 17:30  gb
7572
7573        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7574
75752006-06-27 17:27  gb
7576
7577        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7578        portable; possibly break it completely ...
7579
75802006-06-27 08:55  gb
7581
7582        * lisp-kernel/x86-exceptions.c: map the altstack
7583        read/write/execute.
7584
75852006-06-27 08:54  gb
7586
7587        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7588        FreeBSD.
7589
75902006-06-27 08:54  gb
7591
7592        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7593        <pthread_np.h>
7594
75952006-06-27 08:53  gb
7596
7597        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7598        :freebsdx8664.
7599
76002006-06-27 08:53  gb
7601
7602        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7603        testing.)
7604       
7605        Don't conditionalize as much code. Indices/offsets are
7606        platform-specific, but accessors defiend in terms of them needn't
7607        be.
7608
76092006-06-27 08:51  gb
7610
7611        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7612        comment.)
7613
76142006-06-27 08:50  gb
7615
7616        * level-0/l0-init.lisp: More freebsd x8664 features.
7617
76182006-06-27 08:50  gb
7619
7620        * scripts/openmcl64: Update for FreeBSD/amd64.
7621
76222006-06-27 08:47  gb
7623
7624        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7625        :freebsdx8664-target as a target-specific-feature.
7626
76272006-06-27 05:05  gb
7628
7629        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7630        freebsd8664/elf_x86_64.x: directory rename
7631
76322006-06-27 04:59  gb
7633
7634        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7635
76362006-06-27 04:47  gb
7637
7638        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7639
76402006-06-27 04:46  gb
7641
7642        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7643        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7644
76452006-06-27 04:45  gb
7646
7647        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7648       
7649        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7650
76512006-06-27 04:44  gb
7652
7653        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7654        suspend_resume_handler.
7655
76562006-06-27 04:44  gb
7657
7658        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7659        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7660
76612006-06-27 04:43  gb
7662
7663        * lisp-kernel/imports.s: Don't import metering-control; do import
7664        get_r_debug().
7665
76662006-06-27 04:42  gb
7667
7668        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7669        word-size stuff (here and in other versions.)
7670
76712006-06-27 04:42  gb
7672
7673        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7674        FreeBSD.
7675
76762006-06-27 04:39  gb
7677
7678        * lib/foreign-types.lisp: Signed char nonsense (should use target
7679        ftd, not reader macros here.)
7680
76812006-06-27 04:38  gb
7682
7683        * lib/compile-ccl.lisp: Some FreeBSD support.
7684
76852006-06-27 04:36  gb
7686
7687        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7688        Some FreeBSD changes/conditionalization. Maybe not enough.
7689
76902006-06-27 04:35  gb
7691
7692        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7693
76942006-06-27 04:34  gb
7695
7696        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7697
76982006-06-27 04:34  gb
7699
7700        * level-0/l0-io.lisp: FreeBSD syscalls.
7701
77022006-06-27 04:33  gb
7703
7704        * level-0/l0-init.lisp: Some FreeBSD features.
7705
77062006-06-27 04:33  gb
7707
7708        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7709        changes.
7710       
7711        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7712        and test.
7713       
7714        Now depends on an imported lisp-kernel function on ELF platforms
7715        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7716
77172006-06-27 04:30  gb
7718
7719        * level-0/.cvsignore: Ignore *fsl.
7720
77212006-06-27 04:29  gb
7722
7723        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7724        in freebsd backend.
7725
77262006-06-27 04:27  gb
7727
7728        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7729        metering-control; do import get-r-debug (for Elf shared libraries.)
7730       
7731        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7732
77332006-06-27 04:26  gb
7734
7735        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7736        Don't import metering-control; do import get-r-debug (for Elf
7737        shared libraries.)
7738
77392006-06-27 04:26  gb
7740
7741        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7742
77432006-06-26 16:38  gb
7744
7745        * compiler/X86/X8664/x8664-vinsns.lisp:
7746        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7747        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7748        constant #xffff000000000000 come from ?
7749
77502006-06-26 16:35  gb
7751
7752        * compiler/X86/x862.lisp: Fix some indentation.
7753
77542006-06-25 20:32  gb
7755
7756        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7757        change initialiation of x8664 foreign-type stuff.
7758
77592006-06-25 20:31  gb
7760
7761        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7762
77632006-06-23 19:52  gb
7764
7765        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7766        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7767
77682006-06-23 19:28  gb
7769
7770        * release-notes.txt: Update some.
7771
77722006-06-23 19:11  gb
7773
7774        * examples/gtk2-clock.lisp: New file.
7775
77762006-06-23 18:56  gb
7777
7778        * level-1/version.lisp: Bump.
7779
77802006-06-23 18:52  gb
7781
7782        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7783
77842006-06-22 13:39  gb
7785
7786        * x86-headers64/gnome2/C/.cvsignore: new
7787
77882006-06-22 13:36  gb
7789
7790        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7791
77922006-06-22 13:33  gb
7793
7794        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7795        gnome2/.cvsignore: new
7796
77972006-06-22 13:30  gb
7798
7799        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7800
78012006-06-22 13:28  gb
7802
7803        * level-1/version.lisp: Bump.
7804
78052006-06-21 15:15  gb
7806
7807        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7808        ppc-spentry.s: Define new string subtags; handle them in ppc64
7809        misc_ref/misc_set.
7810
78112006-06-21 15:14  gb
7812
7813        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7814        versions) to handle FIXNUM vectors, new UCS4 strings.
7815
78162006-06-21 15:14  gb
7817
7818        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7819        versions) to handle FIXNUM vectors, new UCS4 strings.
7820
78212006-06-21 15:12  gb
7822
7823        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7824        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7825        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7826
78272006-06-21 15:11  gb
7828
7829        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7830
78312006-06-21 15:11  gb
7832
7833        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7834        wasn't updated with the introduction of fixnum vectors, (unused)
7835        UCS4 "new"strings.
7836
78372006-06-16 03:50  gb
7838
7839        * examples/objc-support.lisp: Re-compute static NSString info after
7840        opening an extension framework.
7841
78422006-06-16 03:45  gb
7843
7844        * examples/webkit.lisp: Use new functions for augmenting
7845        interfaces, loading framework.
7846
78472006-06-16 03:43  gb
7848
7849        * examples/objc-runtime.lisp: Juggle things around so that add-on
7850        framework bundles get loaded on appication re-launch.
7851       
7852        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7853        since (a) it may not be there, or may not be where we can find it
7854        yet and (b) it's probably more reasonable to do that than it would
7855        be to teach CLOS about classes that're "discovered" when the
7856        appication's launched on a newer OS release than it was saved on.
7857
78582006-06-16 03:39  gb
7859
7860        * examples/cocoa-application.lisp: Touch tha application bundle
7861        before saving an image into it.  That -may- convincve
7862        LaunchServices to do the right thing.
7863
78642006-06-16 03:38  gb
7865
7866        * examples/objc-support.lisp: Reload any addon/framework bundles
7867        that had been loaded before the image was saved when starting a
7868        bundled application.
7869       
7870        Juggle things around, so that that works (need to be able to use
7871        low-level bridge features early.)
7872
78732006-06-16 03:36  gb
7874
7875        * lib/db-io.lisp: Disable the #? reader macro.
7876
78772006-06-14 15:42  gb
7878
7879        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7880        lfun-bits.
7881
78822006-06-12 20:24  gb
7883
7884        * lib/ppc-backtrace.lisp: PPC version of
7885        %find-register-argument-value had the same sort of fencepost as the
7886        x86-64 version had a few days ago.
7887
78882006-06-10 23:52  gb
7889
7890        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7891        its GENERIC-FUNCTION-LAMBDA-LIST.
7892
78932006-06-10 23:51  gb
7894
7895        * level-1/l1-clos.lisp: Give reader/writer method args more
7896        descriptive names. (Barely more descriptive ...)
7897
78982006-06-10 19:25  gb
7899
7900        * level-1/l1-clos-boot.lisp: Arrgh.  In
7901        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7902        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7903        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7904       
7905        This was keeping non-standard instances - like ObjC classes and
7906        metaclasses - from having some of their slots initialized
7907        correctly.
7908
79092006-06-10 19:22  gb
7910
7911        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7912        objc-metaclass: don't die if the class is unnamed (makes it easier
7913        to print classes for debugging during initialization.)
7914
79152006-06-10 13:05  gb
7916
7917        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7918        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7919
79202006-06-08 05:01  gb
7921
7922        * release-notes.txt: Update a bit.
7923
79242006-06-08 03:56  gb
7925
7926        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7927        image-abi-version.
7928
79292006-06-08 03:46  gb
7930
7931        * xdump/faslenv.lisp: Bump (min) fasl version.
7932
79332006-06-08 03:35  gb
7934
7935        * lib/nfcomp.lisp: Bump (current) fasl-version.
7936
79372006-06-08 03:28  gb
7938
7939        * lisp-kernel/linuxx8664/Makefile: -O2.
7940
79412006-06-08 03:26  gb
7942
7943        * xdump/faslenv.lisp: Bump (max) fasl version.
7944
79452006-06-08 03:18  gb
7946
7947        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7948        doubt and claim that it's a beta.
7949
79502006-06-08 03:18  gb
7951
7952        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7953
79542006-06-08 03:17  gb
7955
7956        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7957        options; enable -O2.
7958
79592006-06-08 02:55  gb
7960
7961        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7962        Handle suspend (and maybe someday resume, again) signals on the
7963        altstack, since we don't really want a signal context in the middle
7964        of the tagged lisp stack ...
7965
79662006-06-08 02:52  gb
7967
7968        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7969        PLATFORM-exceptions.c; some constants/prototypes moved to
7970        Threads.h.
7971
79722006-06-08 02:51  gb
7973
7974        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7975        via install_signal_handler(); thread_signal_setup() moved here, to
7976        do that installation.
7977
79782006-06-08 02:50  gb
7979
7980        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7981       
7982        Don't call (or define) prepare_for_the_worst(), which is kind of
7983        too bad ...
7984
79852006-06-08 02:49  gb
7986
7987        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7988
79892006-06-08 01:11  gb
7990
7991        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7992        let OPTIMIZE proclamations persist beyond the LOAD.
7993
79942006-06-07 21:45  gb
7995
7996        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7997
79982006-06-07 21:38  gb
7999
8000        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
8001        MMX regs.  Do maintain them in TCR.
8002
80032006-06-07 21:37  gb
8004
8005        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8006        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8007        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8008
80092006-06-07 21:34  gb
8010
8011        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8012
80132006-06-07 21:33  gb
8014
8015        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8016        %stack_temp.
8017
80182006-06-07 21:32  gb
8019
8020        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8021
80222006-06-07 21:30  gb
8023
8024        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8025        now.
8026
80272006-06-07 21:30  gb
8028
8029        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8030        (since it no longer exists ...).  Use %stack-temp in some cases.
8031
80322006-06-07 21:29  gb
8033
8034        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8035        %stack-temp is a symbolic name for an MMX register that can be used
8036        for (e.g.) linking frames on the temp/foreign stacks (or for any
8037        other purpose ...)
8038
80392006-06-07 15:29  gb
8040
8041        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8042        tcr.next_tsp in sync with %next_tsp Check to ensure that
8043        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8044        allocating on the temp stack.  (This will soon change, so that %tsp
8045        and %next_tsp will not be canonical and the tcr fields are, then
8046        will change so that %tsp and %next_tsp will cease to exist.)
8047
80482006-06-07 15:25  gb
8049
8050        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8051
80522006-06-07 15:25  gb
8053
8054        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8055        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8056        a temporary.
8057
80582006-06-07 15:23  gb
8059
8060        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8061        don't need FP regs for this.  (They're sometimes invalid and
8062        sometimes missing, which is the point of recent changes.)
8063
80642006-06-07 15:21  gb
8065
8066        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8067        to %Rnext_tsp to avoid potential m4 lossage.
8068
80692006-06-07 15:20  gb
8070
8071        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8072
80732006-06-07 15:20  gb
8074
8075        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8076
80772006-06-07 15:19  gb
8078
8079        * level-1/version.lisp: Bump.
8080
80812006-06-07 15:19  gb
8082
8083        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8084
80852006-06-07 15:18  gb
8086
8087        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8088        foreign-sp register (though some code still uses %mm5 as a
8089        temporary, the "canonical" foreign SP is maintained in the TCR.)
8090
80912006-06-07 04:52  gb
8092
8093        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8094        frame, get the foreign SP out of the TCR.
8095
80962006-06-07 04:52  gb
8097
8098        * compiler/X86/X8664/x8664-vinsns.lisp,
8099        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8100        maintain the foreign sp in both the TCR and the MMX register, but
8101        consider the TCR version to be canonical.
8102
81032006-06-07 02:46  gb
8104
8105        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8106        %tsp MMX register doesn't match the value in the tcr, trap.
8107        Likewise for %foreign-sp.
8108
81092006-06-07 01:29  gb
8110
8111        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8112        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8113        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8114       
8115        (The idea is to keep the temp/foreign stack pointers in the tcr and
8116        only use the MMX registers as temporaries, since it seems that
8117        handlers for asynchronous signals can't count on the MMX register
8118        values in the signal context being correct.  This seems to either
8119        be a Linux kernel bug or ill-considered if it's intentional
8120        behavior, but it seems better to work around it this way.)
8121       
8122        This is just an early step in bootstrapping that change; it's being
8123        checked into CVS so that it doesn't get lost (and so that I can
8124        recover to this point if/when I hose things on a later step.)
8125
81262006-06-07 01:24  gb
8127
8128        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8129        tcr.
8130
81312006-06-07 01:22  gb
8132
8133        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8134        next_tsp slot to the tcr.
8135
81362006-06-06 04:25  gb
8137
8138        * lib/ppc-metering.lisp: no hope
8139
81402006-06-06 04:22  gb
8141
8142        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8143        frame (cfp argument) could be an exception callback frame (xcf-p
8144        may be true of it), in which case the saved register value is in
8145        the xcf.xp context.  (Basically, this means look at the first frame
8146        if it's an xcf, otherwise skip it and start with the child.)
8147
81482006-06-06 01:48  gb
8149
8150        * compiler/X86/x86-lapmacros.lisp,
8151        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8152        Using imul to box fixnums is smaller and seems to be faster than
8153        using lea with a scale factor.
8154
81552006-06-05 23:56  gb
8156
8157        * lisp-kernel/thread_manager.c: I don't think that
8158        suspend_resume_handler wants to have suspend signals unmasked, does
8159        it ?
8160
81612006-06-05 12:43  gb
8162
8163        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8164
81652006-06-03 03:11  gb
8166
8167        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8168        last catch frame, do skip others (test was backwards.  As it
8169        probably had been in the single-value case at one point.)
8170
81712006-06-02 03:48  gb
8172
8173        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8174        *terminal-io*; do print it to *trace-output*.
8175
81762006-06-01 20:20  gb
8177
8178        * level-0/l0-array.lisp: There's a T in subtag.
8179
81802006-06-01 20:17  gb
8181
8182        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8183       
8184        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8185       
8186        correctly.
8187
81882006-06-01 20:16  gb
8189
8190        * compiler/nx0.lisp: Defvars for global optimization quantities
8191        moved to level-0.
8192
81932006-06-01 20:15  gb
8194
8195        * level-1/l1-files.lisp: Bind the variables which hold global
8196        compiler optimization quantities, since people persist in doing
8197        things like:
8198       
8199        (declaim (optimize
8200        <something-that-they-probably-think-has-local-effects>))
8201       
8202        without bothering to use EVAL-WHEN or otherwise thinking very
8203        clearly.
8204       
8205        Note that this means that anyone who wanted such a declamation to
8206        have persistent global effects is now SOL.  Blame whoever wrote
8207        (for instance) clx/glx.lisp.
8208
82092006-06-01 20:11  gb
8210
8211        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8212        be referenced early in the cold load.
8213
82142006-06-01 13:13  gb
8215
8216        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8217        pointer to ENCODED-GPR-LISP if we have to get the register value
8218        from an exception frame.
8219
82202006-05-30 19:27  gwking
8221
8222        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8223        1.98)
8224
82252006-05-30 17:12  gb
8226
8227        * level-1/version.lisp: bump again.
8228
82292006-05-30 16:31  gb
8230
8231        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8232        ensure that tcr.xframe is updated from the catch frame (a) in all
8233        execution paths and (b) before RSP is updated.
8234
82352006-05-30 16:30  gb
8236
8237        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8238        vectors.
8239
82402006-05-30 16:29  gb
8241
8242        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8243
82442006-05-30 16:29  gb
8245
8246        * release-notes.txt: Update some more ...
8247
82482006-05-30 16:23  gb
8249
8250        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8251        Apparently.
8252
82532006-05-30 16:15  gb
8254
8255        * release-notes.txt: updated
8256
82572006-05-30 01:58  gb
8258
8259        * level-1/version.lisp: Bump.
8260
82612006-05-30 01:48  gb
8262
8263        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8264        made copies of the signal context and siginfo on the foreign stack,
8265        don't pass the originals to interrupt_handler().
8266       
8267        (altstack_interrupt_handler() looks suspiciously like
8268        altstack_signal_handler(), which probably had the same bug a few
8269        months ago ...)
8270       
8271        Since the alternate signal stack (as we use it) isn't reentrant,
8272        the next signal (perhaps a suspend signal) overwrote the context.
8273        Which is one reason to have made a copy in the first place ...
8274
82752006-05-30 01:43  gb
8276
8277        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8278        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8279        timeout is a good idea here, make sure that the timeout isn't
8280        fooled by #$EINTR.
8281
82822006-05-30 01:39  gb
8283
8284        * level-1/linux-files.lisp: Rename the old
8285        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8286        since it basically waits indefinitely.
8287       
8288        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8289        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8290        a "timed wait" that handles interruptions, etc. when the caller
8291        just has a "raw" (native) semaphore.
8292       
8293        Change callers, endure warnings.  New binaries soon.
8294
82952006-05-30 01:36  gb
8296
8297        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8298        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8299
83002006-05-29 22:34  gb
8301
8302        * lisp-kernel/x86-exceptions.c: The
8303        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8304        too small ...
8305
83062006-05-29 14:03  gb
8307
8308        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8309        syscall-based getcwd (it doesn't work as it once did/is documented
8310        to on linuxx8664); use the library function on all platforms.
8311
83122006-05-29 14:02  gb
8313
8314        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8315        processing interrupt.
8316
83172006-05-28 17:01  gb
8318
8319        * lisp-kernel/ppc-exceptions.c: If we handle a
8320        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8321       
8322        Back out of the hack that tried to work around a Darwin bug (FP
8323        exception flags were cleared in the MSR after a thread had been
8324        interrupted via pthread_kill()), since the fix seems not to be
8325        GC-safe.
8326       
8327        Add some debugging code to print when the exception lock is
8328        acquired/released.
8329
83302006-05-28 01:10  gb
8331
8332        * level-1/solaris-files.lisp: long gone
8333
83342006-05-23 20:25  gb
8335
8336        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8337
83382006-05-22 22:59  gb
8339
8340        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8341        C/.cvsignore: New file.
8342
83432006-05-22 22:57  gb
8344
8345        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8346        thread to suspend itself.
8347
83482006-05-22 22:57  gb
8349
8350        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8351        SINGLE-FLOAT constants.
8352       
8353        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8354        64-bit arg word, regardless of whether they're also passed in
8355        f1-f13 as well.
8356
83572006-05-22 22:55  gb
8358
8359        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8360        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8361        64-bit word.
8362
83632006-05-22 22:54  gb
8364
8365        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8366        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8367
83682006-05-22 22:53  gb
8369
8370        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8371        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8372        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8373        access them.
8374
83752006-05-22 03:53  gb
8376
8377        * level-1/version.lisp: Bump.
8378
83792006-05-22 03:32  gb
8380
8381        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8382
83832006-05-22 03:31  gb
8384
8385        * compiler/X86/x862.lisp: Numeric contagion on binops,
8386        fixnum->float.
8387
83882006-05-22 03:29  gb
8389
8390        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8391        well.
8392
83932006-05-22 03:28  gb
8394
8395        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8396        earlier when creating a stack frame inline.  Doesn't seem to affect
8397        latency much.
8398
83992006-05-22 03:27  gb
8400
8401        * compiler/X86/x862.lisp: Comment formatting on the first line of
8402        the file.
8403
84042006-05-22 03:26  gb
8405
8406        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8407        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8408
84092006-05-21 07:34  gb
8410
8411        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8412
84132006-05-21 07:32  gb
8414
8415        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8416        numeric-contagion stuff for arithmetic ops.
8417
84182006-05-21 07:31  gb
8419
8420        * compiler/nx1.lisp: Use div2 for /-2.
8421
84222006-05-21 07:31  gb
8423
8424        * compiler/nx0.lisp: Binop numeric contagion.
8425
84262006-05-21 06:49  gb
8427
8428        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8429
84302006-05-21 06:49  gb
8431
8432        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8433        weird, just wrong.
8434
84352006-05-21 06:17  gb
8436
8437        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8438        SIMPLE-FIXNUM-VECTORs.
8439
84402006-05-21 06:16  gb
8441
8442        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8443        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8444
84452006-05-21 06:16  gb
8446
8447        * compiler/PPC/PPC32/ppc32-arch.lisp,
8448        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8449        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8450        vector stuff.
8451
84522006-05-21 06:15  gb
8453
8454        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8455       
8456        Fixnum vector vref/vset.
8457
84582006-05-21 06:15  gb
8459
8460        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8461        %fixnum-to-double.
8462
84632006-05-21 06:14  gb
8464
8465        * compiler/nx0.lisp: More operator result types.
8466
84672006-05-21 04:35  gb
8468
8469        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8470        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8471        specialized FIXNUM array-element-type into type system, CLOS.
8472        (Knock wood.)
8473
84742006-05-21 04:34  gb
8475
8476        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8477        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8478
84792006-05-21 04:33  gb
8480
8481        * compiler/X86/X8664/x8664-arch.lisp,
8482        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8483        subtag for :fixnum-vector.
8484
84852006-05-21 04:32  gb
8486
8487        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8488        indices correctly.
8489       
8490        64-bit vset, vref: handle :FIXNUM-VECTOR.
8491
84922006-05-21 00:22  gb
8493
8494        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8495
84962006-05-20 18:13  gb
8497
8498        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8499        stack args) without restoring/re-saving NVRs.
8500
85012006-05-19 15:07  gb
8502
8503        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8504        completion semaphore (when :WAIT is true) happens inside an
8505        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8506        interrupts.
8507
85082006-05-19 15:06  gb
8509
8510        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8511        for SEMAPHORE.
8512
85132006-05-19 12:23  gwking
8514
8515        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8516        Also changed it so that it displays all items before trying to get
8517        an answer.
8518
85192006-05-19 12:00  gwking
8520
8521        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8522
85232006-05-19 11:57  gwking
8524
8525        * .cvsignore: The *fsl wasn't cutting it for me...
8526
85272006-05-19 11:50  gb
8528
8529        * level-1/version.lisp: Bump.
8530
85312006-05-19 11:49  gb
8532
8533        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8534        syscall definitions so that it can be moused on.
8535
85362006-05-19 11:48  gb
8537
8538        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8539        .SPeabi-syscall -> .SPsyscall.
8540
85412006-05-19 11:45  gb
8542
8543        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8544        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8545        does indeed burn cache lines, but going out of line isn't cheap
8546        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8547        are in fact fixnums and no overflow is involved - seems to be about
8548        2X faster when inlined this way.  Not sure if that'll be the case
8549        on PPC.)
8550
85512006-05-19 11:40  gb
8552
8553        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8554        stuff.
8555
85562006-05-18 14:47  gb
8557
8558        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8559        in all places that do so ...), update tcr.xframe from
8560        catch_frame.xframe on all execution paths (in particular, do so
8561        before SP is restored from the catch_frame, since a tcr.xframe
8562        "beyond" SP is clearly bogus.)
8563
85642006-05-18 02:34  gb
8565
8566        * level-1/version.lisp: Bump.
8567
85682006-05-17 23:12  gb
8569
8570        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8571        for PPC, too.
8572
85732006-05-17 22:53  gb
8574
8575        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8576        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8577        if any unmasked exceptions were raised before even calling this ...
8578
85792006-05-17 22:51  gb
8580
8581        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8582        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8583
85842006-05-17 22:50  gb
8585
8586        * compiler/X86/x862.lisp: Work harder to find acode types in some
8587        cases.
8588
85892006-05-17 22:50  gb
8590
8591        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8592        registers in OP-REG.
8593       
8594        Don't want to use RET very often if at all, but disassembler should
8595        treat as as a :JUMP.
8596
85972006-05-17 22:48  gb
8598
8599        * compiler/nxenv.lisp: MUL2, DIV2.
8600
86012006-05-17 22:48  gb
8602
8603        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8604        type-inferencing (or, more accurately, paying a little more
8605        attention here and there.)
8606
86072006-05-12 20:40  gwking
8608
8609        * examples/addressbook.lisp: added examples/addressbook.lisp
8610
86112006-05-11 18:42  gb
8612
8613        * level-1/l1-application.lisp: Stop processing command-line
8614        arguments when "--" is encountered; anything after that "--" is
8615        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8616
86172006-05-11 18:42  gb
8618
8619        * lib/ccl-export-syms.lisp: Export command-line stuff
8620
86212006-05-11 18:40  gb
8622
8623        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8624        method for LOCKs.
8625
86262006-05-11 18:39  gb
8627
8628        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8629        are base-strings (and always have been in OpenMCL.)
8630
86312006-05-11 18:37  gb
8632
8633        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8634
86352006-05-11 08:11  gwking
8636
8637        * lib/db-io.lisp: Added a check that the directory exists to
8638        fid-open-output in order to make it clearer what is wrong when one
8639        is unable to rebuild interface files because they are trying to do
8640        so in a place without FFI files to read!
8641
86422006-05-11 05:14  gb
8643
8644        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8645        Bump lisp-implementation-version, image-abi-version.
8646
86472006-05-11 05:04  gb
8648
8649        * xdump/faslenv.lisp: Bump (min) fasl version.
8650
86512006-05-11 04:52  gb
8652
8653        * lib/nfcomp.lisp: Bump (current) FASL version.
8654
86552006-05-11 04:52  gb
8656
8657        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8658        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8659
86602006-05-11 04:35  gb
8661
8662        * xdump/faslenv.lisp: Bump (max) fasl version.
8663
86642006-05-11 04:32  gb
8665
8666        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8667        target-specific feature.
8668
86692006-05-11 03:35  gb
8670
8671        * compiler/PPC/PPC32/ppc32-arch.lisp,
8672        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8673        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8674        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8675        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8676        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8677        typecodes around: get rid of the (unused) old 16-bit string; add an
8678        (as yet unused) UCS-4 string type.
8679       
8680        These changes generally involve cross-compilation (or some very
8681        tricky bootstrapping that I didn't attempt)  FASL versions and
8682        kernel ABI versions will need to change, and new binaries will be
8683        made available soon.
8684
86852006-05-10 20:20  gb
8686
8687        * compiler/PPC/ppc-lapmacros.lisp,
8688        compiler/PPC/PPC32/ppc32-arch.lisp,
8689        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8690        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8691        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8692        8-bit) character code is stored in the #x0000xx00 byte of a
8693        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8694        bootstrap natively (which is why I was trying to make ppc64->ppc32
8695        cross-compilation work.)
8696       
8697        Change related macros/visnsns as well.
8698
86992006-05-10 19:00  gb
8700
8701        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8702        think that this is just hard to do right the way that it's being
8703        done.
8704
87052006-05-10 18:59  gb
8706
8707        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8708        when cross-compiling (because word-size differences aren't handled
8709        correctly by macros.)  Until the macros are fixed, don't even try
8710        ...
8711
87122006-05-10 18:58  gb
8713
8714        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8715        target::target-most-positive-fixnum (not the host's
8716        MOST-POSITIVE-FIXNUM).
8717
87182006-05-10 18:57  gb
8719
8720        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8721        few places.
8722
87232006-05-10 18:56  gb
8724
8725        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8726
87272006-05-10 18:55  gb
8728
8729        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8730        differences between host and target types, but try to turn
8731        references to FIXNUM to the appropriate target-specific type.
8732
87332006-05-09 21:01  gb
8734
8735        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8736        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8737        around to check the high bits of the char code, but all chars have
8738        been base-chars for several years now ...
8739       
8740        UNBOX-CHARACTER was unused.
8741       
8742        (This is the first step of what may be several bootstrapping steps
8743        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8744        easily-accessed char-code bits on PPC32.)
8745
87462006-05-09 11:48  gb
8747
8748        * lisp-kernel/xlbt.c: No psn in cs_area.
8749
87502006-05-09 02:42  gb
8751
8752        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8753        to mark_simple_area_range().
8754
87552006-05-09 02:33  gb
8756
8757        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8758        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8759
87602006-05-09 02:25  gb
8761
8762        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8763        the containing TCR, to make low-level debugging a bit easier.
8764
87652006-05-09 02:25  gb
8766
8767        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8768        and debugging printfs.
8769
87702006-05-09 02:24  gb
8771
8772        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8773        extra (signed_natural *) arg, for allocptr displacement.
8774
87752006-05-09 02:23  gb
8776
8777        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8778       
8779        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8780        regs/ saved TCR fields.  The general idea is that the after they
8781        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8782        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8783        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8784        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8785       
8786        On an interrupt, the caller needs to pass in a signed_natural * to
8787        pick up the allocptr displacement (if consing was interrupted at
8788        the alloc trap); the interrupt handler uses this value to fix up
8789        alloptr when it returns if consing was interrupted.
8790       
8791        This is all pretty clearly right, but something still goes wrong
8792        under some combination of high thread stress, frequent allocation,
8793        and blocking ff-calls.
8794
87952006-05-09 02:17  gb
8796
8797        * lisp-kernel/plbt.c: No psn currently available.
8798
87992006-05-09 02:16  gb
8800
8801        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8802        where it may come in handy ...
8803
88042006-05-09 02:16  gb
8805
8806        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8807        arg.
8808
88092006-05-09 02:13  gb
8810
8811        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8812
88132006-05-09 02:12  gb
8814
8815        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8816        Restore it.
8817
88182006-05-09 02:12  gb
8819
8820        * level-0/l0-error.lisp, library/lispequ.lisp,
8821        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8822        recycle $XNOCDR.
8823
88242006-05-09 02:11  gb
8825
8826        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8827        target-specific.
8828
88292006-05-09 02:11  gb
8830
8831        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8832        target-specific.
8833
88342006-05-09 00:40  gb
8835
8836        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8837        here.
8838
88392006-05-09 00:39  gb
8840
8841        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8842        x8664.
8843
88442006-05-09 00:39  gb
8845
8846        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8847        stuff up to l1-lisp-threads.lisp.
8848
88492006-05-08 22:58  gb
8850
8851        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8852        handle array and vector headers.
8853
88542006-05-08 22:57  gb
8855
8856        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8857        of which should ever happen) with the kernel.
8858
88592006-05-08 22:56  gb
8860
8861        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8862        the TCR either.
8863
88642006-05-08 22:55  gb
8865
8866        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8867
88682006-05-08 22:55  gb
8869
8870        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8871        $xsetbadvec.
8872
88732006-05-08 03:26  gb
8874
8875        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8876        flags are set to the result of decrementing %nargs at the end of
8877        the loop.
8878
88792006-05-08 03:25  gb
8880
8881        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8882        wants a list of condition args, not a single arg.
8883
88842006-05-08 03:24  gb
8885
8886        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8887        CS-AREA.
8888
88892006-05-08 03:23  gb
8890
8891        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8892        uuo_error_udf, not as a type error.
8893
88942006-05-07 16:50  gb
8895
8896        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8897        slots in a long time (they probably haven't -needed- them in even
8898        longer; I think that this had to do with the old partial MOP.)
8899        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8900        accessor in STANDARD-OBJECT-SETF-LINE-N.
8901
89022006-05-07 04:39  gb
8903
8904        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8905        file.
8906
89072006-05-07 04:34  gb
8908
8909        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8910        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8911        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8912        if code that wants both locks isn't careful to try to obtain them
8913        in some canonical order.)
8914
89152006-05-07 04:29  gb
8916
8917        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8918
89192006-05-07 04:29  gb
8920
8921        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8922
89232006-05-07 04:28  gb
8924
8925        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8926        xFindSymbol/dlsym returns 0 on x8664.
8927
89282006-05-07 04:27  gb
8929
8930        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8931        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8932        I'd mistakenly decided that it was faster to go through memory than
8933        to use these instructions.  It seems to actually be substantially
8934        slower, as one would expect.)
8935
89362006-05-07 04:25  gb
8937
8938        * compiler/X86/x86-asm.lisp: Add support for
8939        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8940
89412006-05-07 04:21  gb
8942
8943        * library/hash-cons.lisp: Fix doc in comments.
8944
89452006-05-07 04:21  gb
8946
8947        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8948
89492006-05-07 04:20  gb
8950
8951        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8952
89532006-05-07 04:19  gb
8954
8955        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8956        TARGET-backtrace.lisp.
8957
89582006-05-07 04:18  gb
8959
8960        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8961        BOGUS-THING-P to TARGET-thread-utils.lisp.
8962
89632006-05-07 04:17  gb
8964
8965        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8966        BOGUS-THING-P support here.
8967
89682006-05-07 04:16  gb
8969
8970        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8971        to psn.
8972
89732006-05-06 15:27  gb
8974
8975        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8976        to the "natural" case.
8977
89782006-05-06 15:26  gb
8979
8980        * compiler/X86/x862.lisp: Pass the right number of args to
8981        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8982
89832006-05-06 15:26  gb
8984
8985        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8986
89872006-05-06 02:09  gb
8988
8989        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8990        A and tries to obtain lock B, and thread Y holds lock B and tries
8991        to obtain lock A, what is that a classic case of ?
8992       
8993        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8994        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8995        two locks at the same time, and that's always a bit dangerous; it
8996        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8997        that must be owned in order to manipulate either the tcr or area
8998        queues.
8999
90002006-05-06 02:04  gb
9001
9002        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
9003        %REALPATH of the current directory namestring, as it does by
9004        default on some platforms (but not Linux.)
9005
90062006-05-05 20:08  gb
9007
9008        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9009        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9010        the el-bizarro <- with a (temp) node target.
9011
90122006-05-05 20:06  gb
9013
9014        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9015        relative to the tagged entrypoint, not to the start of the
9016        underlying function-vector.)
9017
90182006-05-05 13:24  gb
9019
9020        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9021        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9022        the same register, so &rest clobbbers %next-method-context.)
9023       
9024        Could make separate entry points, so that this is only done when
9025        %next-method-context needs to be preserved ...
9026
90272006-05-05 13:21  gb
9028
9029        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9030
90312006-05-05 02:23  gb
9032
9033        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9034
90352006-05-05 02:23  gb
9036
9037        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9038
90392006-05-05 01:37  gb
9040
9041        * level-1/version.lisp: Bump du jour.
9042
90432006-05-05 01:36  gb
9044
9045        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9046        between the first 6 words of the outgoing frame (from which GPRs
9047        will be loaded) and other words (which stay on the stack); after
9048        the first 8 FP args, floats have to be passed on the stack, even if
9049        there's still room in the first 6 words of the outgoing frame.
9050       
9051        Need to understand the struct-by-value rules better: can a struct
9052        be passed partly in registers and partly on the stack ? RTFM (or,
9053        in this case, TF ABI spec.)
9054
90552006-05-05 01:31  gb
9056
9057        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9058        case should store relative to "other-offset" (rather than   
9059        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9060        - both the single and double-float cases were incrementing
9061        "other-offset"     twice when more than 8 FP args were involved.
9062        This had the effect of     storing floats into every other word and
9063        writing beyond the bounds of     the outgoing stack frame, possibly
9064        overwriting return addresses on the     foreign stack.
9065
90662006-05-04 23:12  gb
9067
9068        * level-1/l1-streams.lisp: James Bielman's fix to
9069        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9070
90712006-05-04 18:30  gb
9072
9073        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9074        decrement FPR-ARG-OFFSET by 8, not -8.
9075       
9076        (This could cause values outside of the stack frame to be read, but
9077        I still haven't found what's writing beyond the frame bounds.)
9078
90792006-05-04 18:27  gb
9080
9081        * lib/x86-backtrace.lisp: If its argument is an exception callback
9082        frame, %CFP-LFUN tries to determine the relative PC associated with
9083        the frame's nominal function and return that as a second value
9084        (just as it does for a real frame.)
9085       
9086        I think that this should work a high percentage of the time, but
9087        callers should generally be prepared to deal with a NULL second
9088        return value from %CFP-LFUN.
9089
90902006-05-04 11:12  gb
9091
9092        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9093        since we're using the same stack pointer to return values as we are
9094        to find arguments, don't try to "optimize" its initialization.
9095
90962006-05-03 18:52  gb
9097
9098        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9099        a little.  Don't coerce single float results to double; bind
9100        stack-ptr variable even if no args (might be a return value form
9101        that references it.) Failure to do the latter was creating a weird
9102        free variable reference that wasn't handled by the fasloader.
9103
91042006-05-03 18:50  gb
9105
9106        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9107
91082006-05-03 18:49  gb
9109
9110        * lib/nfcomp.lisp: Indent a comment.
9111
91122006-05-03 18:16  gb
9113
9114        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9115        that might involve a variable-length arglist (at this level,
9116        always), set %rax to the number (0-8) of FP arguments passed in xmm
9117        registers.
9118
91192006-05-03 13:26  gb
9120
9121        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9122        ~15, not ~!5.  (This was causing segfaults on return from
9123        interrupts sometimes.)
9124
91252006-05-03 13:24  gb
9126
9127        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9128        by SWANK/SLIME.
9129
91302006-05-03 13:23  gb
9131
9132        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9133        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9134        seems to get many things wrong.)
9135
91362006-05-03 11:37  gb
9137
9138        * level-1/version.lisp: You mist have yesterday's version.
9139
91402006-05-03 11:37  gb
9141
9142        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9143        LAP.
9144
91452006-05-03 11:36  gb
9146
9147        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9148        #+x8664-target.
9149
91502006-05-03 11:36  gb
9151
9152        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9153        it can just check for a 2-digit bignum header if it has something
9154        of tag TAG-MISC.
9155
91562006-05-03 11:34  gb
9157
9158        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9159        destinations.
9160
91612006-05-03 11:33  gb
9162
9163        * compiler/X86/x86-disassemble.lisp: Recognize
9164        uuo-error-eep-unresolved.
9165
91662006-05-02 18:07  gb
9167
9168        * level-1/version.lisp: Bump.
9169
91702006-05-02 18:07  gb
9171
9172        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9173        (mostly ?) unused and currently PPC-specific, if it works at all
9174        ...
9175
91762006-05-02 10:27  gb
9177
9178        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9179        for STRING-INPUT-STREAMs; it's not clear what such a method should
9180        do (and fairly clear that it shouldn't do what the previous
9181        definition was doing.)
9182
91832006-05-02 10:26  gb
9184
9185        * lib/format.lisp: clear input from *query-io*, not from
9186        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9187
91882006-05-02 10:26  gb
9189
9190        * library/hash-cons.lisp: x8664 lap
9191
91922006-05-02 10:26  gb
9193
9194        * lisp-kernel/x86-gc.c: hons area stuff
9195
91962006-04-29 09:14  gb
9197
9198        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9199        overflow (on value/temp stacks).
9200
92012006-04-29 09:13  gb
9202
9203        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9204        callback.
9205
92062006-04-29 09:10  gb
9207
9208        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9209       
9210        No linker script.
9211       
9212        Use -lthr, which offers 1:1 threads.
9213
92142006-04-29 09:09  gb
9215
9216        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9217
92182006-04-29 09:01  gb
9219
9220        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9221
92222006-04-29 09:00  gb
9223
9224        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9225        anything cares ...)
9226
92272006-04-29 08:59  gb
9228
9229        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9230
92312006-04-29 08:58  gb
9232
9233        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9234
92352006-04-29 08:58  gb
9236
9237        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9238
92392006-04-28 21:28  gb
9240
9241        * level-1/version.lisp: bump.
9242
92432006-04-28 21:27  gb
9244
9245        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9246        version).
9247
92482006-04-28 21:24  gb
9249
9250        * lib/ppc-backtrace.lisp: Fix typo.
9251
92522006-04-28 21:23  gb
9253
9254        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9255       
9256        Change the command/keyword parser a little, so that :FOO is just
9257        :FOO and not (:FOO).
9258       
9259        Change :B break loop command (and :F) to allow focusing on a range
9260        of frames, and change PRINT-CALL-HISTORY to more easily support
9261        that.
9262
92632006-04-28 19:37  gb
9264
9265        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9266        LOAD-CONSTANT form.
9267
92682006-04-28 19:34  gb
9269
9270        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9271        Factor out a little more.  Time to see what's broken on PPC ...
9272
92732006-04-28 19:34  gb
9274
9275        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9276        around colon-commands optional.
9277
92782006-04-28 04:11  gb
9279
9280        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9281        debugger's register display code.
9282
92832006-04-28 04:11  gb
9284
9285        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9286        on the stack is bogus.
9287
92882006-04-28 04:10  gb
9289
9290        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9291        ...) when calling back for an exception.
9292
92932006-04-28 03:36  gb
9294
9295        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9296       
9297        xcf struct.
9298
92992006-04-28 03:36  gb
9300
9301        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9302
93032006-04-28 03:36  gb
9304
9305        * lib/x86-backtrace.lisp: Implemented some stuff.
9306       
9307        Backtrace (sort of) works on x8664 now; need to find register
9308        values,  hide tagged return addresses, a few other things.
9309
93102006-04-28 03:34  gb
9311
9312        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9313
93142006-04-28 03:34  gb
9315
9316        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9317
93182006-04-28 03:33  gb
9319
9320        * level-1/x86-trap-support.lisp: Flags register accessor.
9321       
9322        New exception callback scheme.
9323
93242006-04-28 03:33  gb
9325
9326        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9327        changing.
9328
93292006-04-28 03:32  gb
9330
9331        * level-1/x86-error-signal.lisp: New exception callback stuff.
9332
93332006-04-28 03:32  gb
9334
9335        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9336
93372006-04-28 03:32  gb
9338
9339        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9340        files.
9341
93422006-04-28 03:31  gb
9343
9344        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9345        have exception callback frames ...
9346
93472006-04-28 03:30  gb
9348
9349        * level-1/l1-error-system.lisp: Tweak :report method for
9350        wrong-number-of-args errors.
9351
93522006-04-28 03:30  gb
9353
9354        * level-0/X86/x86-def.lisp: Implement APPLY+.
9355
93562006-04-28 03:29  gb
9357
9358        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9359
93602006-04-28 03:27  gb
9361
9362        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9363       
9364        CHECK-NARGS: don't enforce upper bound if it's null.
9365
93662006-04-28 03:17  gb
9367
9368        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9369
93702006-04-28 03:16  gb
9371
9372        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9373        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9374
93752006-04-26 14:18  gb
9376
9377        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9378
93792006-04-26 14:17  gb
9380
9381        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9382        prepared" to do so) if its argument isn't a function designator, so
9383        don't quietly call METHOD-FUNCTION for the user.
9384
93852006-04-26 13:56  gb
9386
9387        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9388        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9389
93902006-04-26 03:59  gb
9391
9392        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9393        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9394        exceptions will be pending when we start an ff-call (and the mxcsr
9395        is loaded from that location.)
9396       
9397        tcr.ffi_exception will then contain non-zero exception bits iff the
9398        most recent ff-call raised a (probably masked) FP exception.
9399       
9400        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9401
94022006-04-26 03:55  gb
9403
9404        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9405
94062006-04-26 03:23  gb
9407
9408        * lisp-kernel/x86-constants64.s: Update comment on
9409        tcr.ffi_exception.
9410
94112006-04-26 03:22  gb
9412
9413        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9414        from ffcall.  (Should maybe clear exception bits on entry to
9415        foreign state, so we're sure that any exception bits set in the
9416        tcr.ffi_exception slot were caused by the most recent ff-call.)
9417
94182006-04-26 03:20  gb
9419
9420        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9421        ffcall, compare them to unmasked exception bits in current MXCSR,
9422        maybe raise FP exception.  (Note: compile this change and rebuild
9423        image before making corresponding kernel change.)
9424
94252006-04-26 02:31  gb
9426
9427        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9428        LOGAND-2, not to LOGXOR-2.  Sheesh.
9429
94302006-04-26 02:01  gb
9431
9432        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9433        bit numbers as tests of the sign bit.   (This is probably best
9434        viewed as being "formally undefined", but it's not too expensive to
9435        check for that.  The case where the bit number's negative is
9436        definitely undefined; I think that it also gets treated as a test
9437        of the sign bit.)
9438
94392006-04-26 01:58  gb
9440
9441        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9442        negative.
9443
94442006-04-26 01:32  gb
9445
9446        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9447        61.  (Should check here for negative bit .)
9448
94492006-04-26 01:31  gb
9450
9451        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9452        context" error - which typically indicates a fault during exception
9453        processing - pass the context in to the kernel debugger.
9454
94552006-04-26 01:30  gb
9456
9457        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9458
94592006-04-26 00:56  gb
9460
9461        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9462        if it compares all corresponding digits, rather than repeatedly
9463        comparing the 0th digits N times ...
9464
94652006-04-25 17:38  gb
9466
9467        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9468        is 0, not if disp is 0.  ash: always make a signed integer out of
9469        the result,  since arg is always signed.
9470
94712006-04-25 17:37  gb
9472
9473        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9474        bit, so (for instance) (- 0.0d0) is -0.0d0.
9475
94762006-04-25 17:36  gb
9477
9478        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9479        time.
9480
94812006-04-25 17:35  gb
9482
9483        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9484        operand is in target reg (2-address issue.)
9485
94862006-04-24 16:42  gb
9487
9488        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9489        Apparently, pretty hard.  It was doing a logical shift right when
9490        typechecking the value, so negative values were rejected.
9491
94922006-04-24 16:41  gb
9493
9494        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9495        callback now takes a 'signo' argument.
9496
94972006-04-24 16:40  gb
9498
9499        * level-1/x86-trap-support.lisp: Initial support for handling
9500        arithmetic errors.  Will need more work to get operation and
9501        operands right.
9502
95032006-04-24 16:39  gb
9504
9505        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9506
95072006-04-24 13:58  gb
9508
9509        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9510        uuo-error-reg-not-type case.
9511
95122006-04-24 13:57  gb
9513
9514        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9515        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9516        another story.)
9517
95182006-04-24 13:55  gb
9519
9520        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9521        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9522        boxed, either.
9523
95242006-04-24 12:02  gb
9525
9526        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9527        _SPtcallnfngen: several bugs, which were already fixed in similar
9528        variants.
9529
95302006-04-24 12:01  gb
9531
9532        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9533        Deutch/Waite/Schorr marker.
9534
95352006-04-24 12:00  gb
9536
9537        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9538        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9539
95402006-04-24 11:59  gb
9541
9542        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9543
95442006-04-24 11:58  gb
9545
9546        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9547        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9548        DOUBLE-FLOAT.
9549
95502006-04-24 11:58  gb
9551
9552        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9553        high and low words of the mantissa, to ensure that no hidden bits
9554        are set.  (Some such bits were set, causing many double-float
9555        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9556
95572006-04-24 02:21  gb
9558
9559        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9560        image.
9561       
9562        (Don't expect it to have any contents yet; that'll require several
9563        more changes.   This is all intended to support PURIFY on x8664,
9564        where we'll want to ensure that any constant referenced by a
9565        function in readonly/pure memory has a fixed, static address.)
9566
95672006-04-24 02:14  gb
9568
9569        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9570        section makes NUM_IMAGE_SECTIONS 4.
9571
95722006-04-24 02:13  gb
9573
9574        * lisp-kernel/area.h: Typo in the definition of
9575        AREA_MANAGED_STATIC.
9576
95772006-04-24 02:12  gb
9578
9579        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9580        more areas.
9581
95822006-04-24 02:12  gb
9583
9584        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9585        addresses of instructions (not pointers thereto ...)
9586
95872006-04-24 02:11  gb
9588
9589        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9590        (mostly so that I could step through it to remember how it worked
9591        ...).
9592
95932006-04-24 02:10  gb
9594
9595        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9596        indirection.
9597
95982006-04-24 02:09  gb
9599
9600        * lisp-kernel/x86-gc.c: Remove a sanity check.
9601
96022006-04-24 02:09  gb
9603
9604        * xdump/xfasload.lisp: Create (empty) managed-static section
9605        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9606
96072006-04-24 02:08  gb
9608
9609        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9610        section.
9611
96122006-04-24 02:07  gb
9613
9614        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9615        fds, take CLOSE-ON-ERROR more seriously.
9616
96172006-04-24 02:06  gb
9618
9619        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9620        %CURRENT-FRAME-PTR) on PPC32/64.
9621
96222006-04-24 00:50  gb
9623
9624        * level-1/version.lisp: Bump.  Getting there ...
9625
96262006-04-24 00:50  gb
9627
9628        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9629       
9630        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9631        so pass them as a pointer to avoid word-size issues.
9632
96332006-04-24 00:48  gb
9634
9635        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9636        things that had been missing.
9637
96382006-04-24 00:48  gb
9639
9640        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9641        UUOs.
9642
96432006-04-24 00:48  gb
9644
9645        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9646
96472006-04-24 00:47  gb
9648
9649        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9650
96512006-04-24 00:47  gb
9652
9653        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9654
96552006-04-24 00:47  gb
9656
9657        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9658
96592006-04-24 00:46  gb
9660
9661        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9662        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9663        need to boostrap on PPC).
9664       
9665        Parse %FOREIGN-STACK-POINTER.
9666
96672006-04-22 03:30  gb
9668
9669        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9670        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9671        because (a) nothing else will and (b) the tcr will likely become
9672        unmapped soon, and we don't want things that walk the tcr list to
9673        segfault.
9674
96752006-04-22 03:27  gb
9676
9677        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9678        find_foreign_rsp; call Bug() and exit() if the context has no
9679        fpregs.  (That's a symptom, not the proble, but it's slightly
9680        better to do this than to double fault, which is what seems to be
9681        happening.)
9682
96832006-04-21 10:12  gb
9684
9685        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9686        worry about consing, write-barrier stuff.
9687
96882006-04-21 10:11  gb
9689
9690        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9691        (condition codes.)
9692
96932006-04-21 10:11  gb
9694
9695        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9696        (again.)
9697       
9698        Define enumeration constants for matching the instructions that can
9699        occur during consing.
9700
97012006-04-21 10:09  gb
9702
9703        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9704        store_node_conditional, in case pc_luser_xp() needs to complete the
9705        memoization.
9706
97072006-04-21 02:50  gb
9708
9709        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9710        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9711        allowed.
9712
97132006-04-21 02:49  gb
9714
9715        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9716        line up with GPRs.
9717
97182006-04-21 02:48  gb
9719
9720        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9721        #+64-bit-target, not #+ppc64-target.
9722
97232006-04-21 02:47  gb
9724
9725        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9726        amount.
9727
97282006-04-21 02:46  gb
9729
9730        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9731        unique to PPC64 (but do depend on #+64-bit-target).
9732
97332006-04-21 02:46  gb
9734
9735        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9736        confuse PROGV; remove them, for now.
9737
97382006-04-20 23:35  gb
9739
9740        * lisp-kernel/x86-spentry64.s: In the bignum case of
9741        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9742        whatever the code was trying to do there.
9743       
9744        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9745        and arg_z from the correct offsets within the lexpr.
9746
97472006-04-20 04:48  gb
9748
9749        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9750        force it to always be used, for now.
9751
97522006-04-19 17:11  gb
9753
9754        * lisp-kernel/pmcl-kernel.c: (Very) different
9755        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9756
97572006-04-19 17:10  gb
9758
9759        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9760        Solaris.
9761
97622006-04-19 00:35  gb
9763
9764        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9765        reversing-pointer marker should work.  (Perhaps it's a strong
9766        argument for implementing "purify" soon.)
9767
97682006-04-19 00:34  gb
9769
9770        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9771        function-boundary-marker.
9772
97732006-04-19 00:33  gb
9774
9775        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9776
97772006-04-18 19:35  gb
9778
9779        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9780        multiple-value case of THROW: don't want to do unbind_to if tcr's
9781        db-link matches target catch frame's.
9782
97832006-04-18 19:33  gb
9784
9785        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9786        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9787        synch with x86-asm.
9788
97892006-04-18 19:33  gb
9790
9791        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9792        :R in break messages.
9793       
9794        Say more about :C in :R.
9795
97962006-04-18 19:32  gb
9797
9798        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9799        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9800        seems to have been fixed.
9801
98022006-04-18 19:31  gb
9803
9804        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9805        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9806        horrible kludge, but it only happens once.)
9807
98082006-04-18 19:19  gb
9809
9810        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9811        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9812        to have been fixed.
9813
98142006-04-18 19:18  gb
9815
9816        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9817        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9818        ends of its arguments and ignoring the first few bytes (as well as
9819        doing misaligned memory references.)
9820
98212006-04-18 19:16  gb
9822
9823        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9824        This'll require some thought, mostly because of the reserved-frame
9825        issue(s).
9826
98272006-04-18 06:21  gb
9828
9829        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9830        adventures are about to end, I'm afraid.
9831
98322006-04-18 06:04  gb
9833
9834        * level-1/version.lisp: Daily bump.
9835
98362006-04-18 05:59  gb
9837
9838        * level-1/l1-sockets.lisp: Comment indentation.
9839
98402006-04-18 05:56  gb
9841
9842        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9843
98442006-04-18 05:55  gb
9845
9846        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9847        ppc-def (that means that there will need to be an APPLY+ for
9848        x8664).
9849
98502006-04-18 05:38  gb
9851
9852        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9853        compiler and x8664-vinsn-templates to agree on vinsn-names and
9854        implement some vinsns that had been missing.  (About 15 or so
9855        undefined vinsns remain.)
9856
98572006-04-18 05:37  gb
9858
9859        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9860        opcode ordinals in vinsn templates (e.g., in case new instructions
9861        are defined in the assembler) wasn't checking to see if vinsn
9862        templates named in the hash table were defined.  (It was apparently
9863        getting away with this because CONSP was broken.)  So, don't try to
9864        fixup opcode ordinals in NIL, and optionally report templates
9865        that're referenced but not defined.
9866
98672006-04-18 04:38  gb
9868
9869        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9870        (which only sets the low 8 bits of its destination), then comparing
9871        all 64-bits of the destination to a zero-extended 32-bit constant.
9872        (E.g., CONSP had little chance of being right all other things
9873        being equal, but may have been right more than one in 2^56 times if
9874        some random preceding instruction had zeroed the upper 56 bits.)
9875       
9876        (It's also shorter to do an 8-bit compare.)
9877
98782006-04-18 03:11  gb
9879
9880        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9881
98822006-04-18 02:51  gb
9883
9884        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9885        happy (well, as happy as they're going to be ...), back to finding
9886        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9887
98882006-04-18 01:26  gb
9889
9890        * lisp-kernel/thread_manager.c: Some Solaris changes.
9891
98922006-04-18 00:48  gb
9893
9894        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9895        installs in /usr/sfw/bin is both newer and buggier than the version
9896        available on the "Solaris Companion" disk, which gets installed in
9897        /opt/sfw/bin.
9898       
9899        Ordinarily, I'd wonder why a "companion" disk offers to install
9900        software that's bundled as part of the installation (especially old
9901        versions of that software.)  Now I know.
9902
99032006-04-18 00:45  gb
9904
9905        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9906
99072006-04-18 00:45  gb
9908
9909        * lisp-kernel/m4macros.m4: Fix changecom.
9910
99112006-04-18 00:11  gb
9912
9913        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9914        but is otherwise fine with single-line /* */.
9915
99162006-04-18 00:09  gb
9917
9918        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9919        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9920        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9921        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9922        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9923        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9924        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9925        like Darwin as, but we're back to single-line /* */, which is often
9926        pretty ugly and not well-supported by Emacs.
9927
99282006-04-17 23:23  gb
9929
9930        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9931        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9932        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9933        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9934        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9935        by Emacs and by all current GAS versions (but see ARM conventions.)
9936         No more jerking around with this, knock wood.
9937
99382006-04-17 23:23  gb
9939
9940        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9941        case where caller provided args before the lexpr, which is much
9942        harder than the simple case.
9943       
9944        Use #/newline for comment delimiters, which is supported by Emacs
9945        and by all current GAS versions (but see ARM conventions.)  No more
9946        jerking around with this, knock wood.
9947
99482006-04-17 23:20  gb
9949
9950        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9951        when numbers differed greatly in magnitude.  Current (binary)
9952        algorithm is usually OK.
9953
99542006-04-17 23:17  gb
9955
9956        * compiler/X86/x86-lap.lisp: Condition name should be
9957        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9958        not the problem.  Name wasn't spelled correctly in code that
9959        signals the condition, anyway.
9960
99612006-04-17 16:34  gb
9962
9963        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9964        argument, takes a new boolean to distinguish current tcr from
9965        others.  (The current tcr is only lusered on an interrupt; others
9966        are only lusered on GC entry.)
9967
99682006-04-17 16:33  gb
9969
9970        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9971        here.  (No deep reason not to share the new x86 signature on all
9972        architectures.)
9973
99742006-04-17 16:32  gb
9975
9976        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9977        here.  (No deep reason not to share the new x86 signature on all
9978        architectures.)
9979
99802006-04-17 16:31  gb
9981
9982        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9983        platform-dependent.
9984
99852006-04-17 06:49  gb
9986
9987        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9988        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9989        already.
9990
99912006-04-17 06:17  gb
9992
9993        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9994        truly portable type name.
9995
99962006-04-17 06:16  gb
9997
9998        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9999        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
10000        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
10001        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
10002        work if they're at the start of a line in Linux GAS.  Try /* */
10003        comments, but limit them to a single line.  (May ultimately be
10004        better to use m4 dnl - carefully - and avoid end-of-line comments.)
10005
100062006-04-17 05:28  gb
10007
10008        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10009        x86-subprims64.s, x86-uuo.s: // comments.
10010
100112006-04-17 05:28  gb
10012
10013        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10014        conditionalization.
10015
100162006-04-17 05:27  gb
10017
10018        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10019        accessors, etc.)
10020
100212006-04-17 05:26  gb
10022
10023        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10024        the sigstack trampoline stuff.)
10025
100262006-04-17 05:25  gb
10027
10028        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10029        integer types.
10030
100312006-04-17 05:24  gb
10032
10033        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10034        x86-constants64.s: // comments.
10035
100362006-04-17 05:23  gb
10037
10038        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10039        Solaris mmap() is ... unusual.
10040
100412006-04-17 05:21  gb
10042
10043        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10044        since Solaris version of GAS doen't handle multi-line comments (/*
10045        ... */).  It -seems- that other assemblers do handle them
10046        correctly; we'll see.
10047       
10048        Some Solaris conditionalization (ELFstabs, etc.)
10049
100502006-04-17 05:20  gb
10051
10052        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10053         We'll see what this breaks.
10054
100552006-04-17 05:19  gb
10056
10057        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10058        SOLARIS is defined.
10059
100602006-04-17 05:18  gb
10061
10062        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10063        registers in predictable order.
10064
100652006-04-17 05:17  gb
10066
10067        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10068        single-line comments, since Solaris version of GAS doen't handle
10069        multi-line comments (/* ... */).  It -seems- that other assemblers
10070        do handle them correctly; we'll see.
10071
100722006-04-17 05:15  gb
10073
10074        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10075
100762006-04-17 05:15  gb
10077
10078        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10079       
10080        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10081        platforms ?
10082
100832006-04-17 05:01  gb
10084
10085        * lisp-kernel/solarisx64/Makefile: new file
10086
100872006-04-17 04:56  gb
10088
10089        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10090        change the name/usage of the linker script.
10091       
10092        Stop using the linker script (since spjump is the only thing in the
10093        kernel that has to be at a fixed address and we can copy it there.)
10094       
10095        Don't disable the EGC.
10096
100972006-04-17 04:54  gb
10098
10099        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10100        the spjump table, exported for C (so that spjump can be mapped into
10101        low memory.)
10102
101032006-04-17 04:54  gb
10104
10105        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10106       
10107        If the tlb's too small when trying to bind a special, push the
10108        binding index of the symbol we're binding (for the benefit of the
10109        handler.)
10110
101112006-04-17 04:52  gb
10112
10113        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10114        code words than it has elements (can't happen, unless the
10115        function's code-words word is garbage, which seems to happen when
10116        closures get consed up in non-zeroed memory.)
10117       
10118        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10119        %nargs.q), which sometimes contains something tagged and
10120        non-immediate.
10121
101222006-04-17 04:48  gb
10123
10124        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10125        to ensure that everythings's zeroed.
10126       
10127        x8664 implementation of extend_tcr_tlb().
10128       
10129        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10130        in call to update_bytes_allocated().
10131       
10132        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10133        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10134        bug, and possibly some other instabiliy.)
10135       
10136        handle_exception: keep trying to guess how to distinguish memory
10137        faults from other sources of SIGSEGV.
10138       
10139        On debug traps, advance the PC past the UUO before entering the
10140        debugger.
10141       
10142        Handle XUUO_TLB_TOO_SMALL.
10143
101442006-04-17 04:42  gb
10145
10146        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10147        reserved_frame_marker.
10148
101492006-04-17 04:42  gb
10150
10151        * lisp-kernel/thread_manager.c: Remove implementation of
10152        extend_tcr_tlb().
10153
101542006-04-17 04:41  gb
10155
10156        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10157        extend_tcr_tlb().
10158
101592006-04-17 04:41  gb
10160
10161        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10162
101632006-04-17 04:40  gb
10164
10165        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10166        that we don't need to use a linker script.
10167
101682006-04-17 04:40  gb
10169
10170        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10171        target xxx-exceptions.h now.
10172
101732006-04-17 04:39  gb
10174
10175        * lib/misc.lisp: Some comment formatting/editing.
10176
101772006-04-17 04:38  gb
10178
10179        * level-1/version.lisp: Bump.
10180
101812006-04-17 04:38  gb
10182
10183        * level-1/l1-readloop.lisp: Some debugging code in the code which
10184        creates the final closure.  It seems that when it's bad, it's bad
10185        on creation (here.)
10186
101872006-04-17 04:37  gb
10188
10189        * level-1/l1-processes.lisp: Some debugging code in
10190        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10191        final closure to be trashed.
10192       
10193        I don't think that other threads were getting their allocptr's
10194        nullified correctly by the GC/normalize_tcr(); with the current
10195        debugging code in place, it seems like the closure is consed on top
10196        of something other than free, thread-private heap memory (when it's
10197        bad, it fails the first check here.  I'm not sure that the latest
10198        round of GC/normalize-tcr() changes have fixed the problem, but I
10199        haven't seen it in a while now, either.)
10200
102012006-04-17 04:32  gb
10202
10203        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10204        disassembly, etc.).
10205
102062006-04-17 04:31  gb
10207
10208        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10209        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10210        (anymore.)
10211       
10212        Subprims are down in low memory again; make INIT-CLOSURE skip
10213        setting the high byte of .SPcall-closure's address if it's zero.
10214
102152006-04-17 04:28  gb
10216
10217        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10218        which may help backtrace.
10219
102202006-04-17 04:26  gb
10221
10222        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10223        (interface/implementation.)
10224
102252006-04-15 09:20  gb
10226
10227        * level-1/x86-callback-support.lisp: Ensure that callback
10228        trampolines are allocated in executable memory.
10229
102302006-04-15 09:12  gb
10231
10232        * lib/dumplisp.lisp: Refresh external entry points before reviving
10233        callbacks.  Reset callback storage before reviving callbacks.
10234
102352006-04-15 09:10  gb
10236
10237        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10238        error message with a %.  (Where did that come from ?)
10239
102402006-04-15 09:08  gb
10241
10242        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10243        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10244        is executable.
10245
102462006-04-14 09:02  gb
10247
10248        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10249
102502006-04-14 08:21  gb
10251
10252        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10253        shorthand for the nearest matching year.
10254
102552006-04-14 08:20  gb
10256
10257        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10258        when : was missing.
10259
102602006-04-13 23:09  gb
10261
10262        * lib/ppc-backtrace.lisp: Eschew missing parens.
10263
102642006-04-13 23:08  gb
10265
10266        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10267
102682006-04-13 23:08  gb
10269
10270        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10271        ARGLIST-FROM-MAP.
10272
102732006-04-13 23:02  gb
10274
10275        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10276        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10277        about returning a second value; returns values NIL, T for functions
10278        that take no args and don't have a symbol map.
10279
102802006-04-13 22:53  gb
10281
10282        * level-1/l1-lisp-threads.lisp: Try to make args to
10283        NTH-VALUE-IN-FRAME et al a little saner.
10284
102852006-04-13 22:37  gb
10286
10287        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10288        type.
10289
102902006-04-13 22:36  gb
10291
10292        * level-1/version.lisp: Bump.
10293
102942006-04-13 22:35  gb
10295
10296        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10297        trying to find the cause of the crash-on-quit bug.
10298
102992006-04-13 07:30  gb
10300
10301        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10302
103032006-04-13 07:29  gb
10304
10305        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10306        stuff to target-backtrace.
10307
103082006-04-13 06:45  gb
10309
10310        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10311
103122006-04-13 06:44  gb
10313
10314        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10315        x8664.
10316
103172006-04-13 06:44  gb
10318
10319        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10320        bytes of %nargs_q contain arg count.
10321
103222006-04-13 06:43  gb
10323
10324        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10325
103262006-04-13 06:43  gb
10327
10328        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10329        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10330        APPLY.
10331
103322006-04-13 06:42  gb
10333
10334        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10335
103362006-04-13 06:41  gb
10337
10338        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10339        operands.
10340
103412006-04-13 06:41  gb
10342
10343        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10344        "vector-lists" instead of adjustable arrays, simplify handling of
10345        constant expressions.  Still conses hysterically; need to find out
10346        where and tone it down a bit, if possible.
10347
103482006-04-13 06:39  gb
10349
10350        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10351        operands; maybe no lap constant-expressions.
10352
103532006-04-13 06:39  gb
10354
10355        * compiler/X86/x86-asm.lisp: Don't need
10356        *lap-constant-0-expression*.
10357
103582006-04-13 00:46  gb
10359
10360        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10361        linker script.
10362
103632006-04-13 00:45  gb
10364
10365        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10366        2.16.1 (Thanks to James Bielman).
10367
103682006-04-12 18:53  gb
10369
10370        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10371        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10372        of this seems to have to do with C++ static constructors, which
10373        aren't really relevant here.)
10374
103752006-04-12 18:28  gb
10376
10377        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10378        between %Rforeign_sp and GPRs.
10379
103802006-04-12 18:22  gb
10381
10382        * lisp-kernel/linuxx8664/Makefile: egc flag
10383
103842006-04-12 18:08  gb
10385
10386        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10387        where we're losing here.
10388
103892006-04-12 18:07  gb
10390
10391        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10392        write barrier code, crap out if so.
10393
103942006-04-12 18:06  gb
10395
10396        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10397        (presumably in a Makefile).
10398
103992006-04-12 14:50  gb
10400
10401        * level-1/version.lisp: Bump.
10402
104032006-04-12 14:46  gb
10404
10405        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10406        x86-backtrace.lisp: new target backtrace stuff.
10407
104082006-04-12 14:45  gb
10409
10410        * lib/backtrace.lisp: Start splitting things up, ideally into a
10411        mostly abstract API and gory platform- dependent implementation
10412        details.
10413
104142006-04-11 21:40  gb
10415
10416        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10417        the damned thing on.  (A little painful with integrity checking
10418        enabled, as it still is by default.)
10419       
10420        TODO:
10421       
10422        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10423        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10424        exception handling - check UUO usage in kernel, disassembler,
10425        exception handlers - stack overflow recovery
10426
104272006-04-11 21:24  gb
10428
10429        * lisp-kernel/x86-gc.c: Skip over function code in
10430        check_refmap_consistency.
10431
104322006-04-11 21:23  gb
10433
10434        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10435        backwards.
10436
104372006-04-11 19:11  gb
10438
10439        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10440
104412006-04-11 19:11  gb
10442
10443        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10444        a closure, no lfname slot in closure.
10445
104462006-04-11 16:29  gb
10447
10448        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10449        area.
10450
104512006-04-11 16:29  gb
10452
10453        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10454        between lisp/foreign code.
10455
104562006-04-11 16:29  gb
10457
10458        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10459        bit-order problems.)
10460       
10461        Maintain the MXCSR on transitions between lisp/foreign code.
10462
104632006-04-11 16:28  gb
10464
10465        * lisp-kernel/x86-macros.s: Access globals in expressions.
10466
104672006-04-11 16:27  gb
10468
10469        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10470        need some bootstrapping stuff (function boundary markers) for a few
10471        reasons, as will DWS marker.
10472
104732006-04-11 16:27  gb
10474
10475        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10476        the siginfo error code.
10477
104782006-04-11 16:26  gb
10479
10480        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10481        fields in tcr.
10482
104832006-04-11 16:25  gb
10484
10485        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10486
104872006-04-11 16:25  gb
10488
10489        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10490        when starting a lisp thread.  (It'll be saner when FP exceptions
10491        are handled.)
10492
104932006-04-11 16:24  gb
10494
10495        * level-1/x86-error-signal.lisp: Recognize what complaints about
10496        non-uvectors are trying to tell us.
10497
104982006-04-11 16:23  gb
10499
10500        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10501        vectors.
10502
105032006-04-11 16:23  gb
10504
10505        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10506        Ses.  Define classes for function/symbol vectors.
10507
105082006-04-11 16:22  gb
10509
10510        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10511
105122006-04-11 16:21  gb
10513
10514        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10515        needs to add a function boundary marker (but we can stop padding
10516        each closure with a null function name slot.)
10517
105182006-04-11 16:20  gb
10519
10520        * compiler/X86/X8664/x8664-arch.lisp: Define
10521        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10522
105232006-04-11 16:19  gb
10524
10525        * compiler/X86/x862.lisp: Emit a function boundary marker between
10526        code and constants. (For GC reasons.) Change closure initialization
10527        to account for it.
10528
105292006-04-11 16:18  gb
10530
10531        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10532        between code and constants. (For GC reasons.)
10533
105342006-04-11 16:17  gb
10535
10536        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10537
105382006-04-11 16:17  gb
10539
10540        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10541       
10542        See if we can get by without 68K condition code ...
10543
105442006-04-11 06:53  gb
10545
10546        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10547        soon.
10548
105492006-04-11 06:53  gb
10550
10551        * lib/numbers.lisp: Infinity constants conditionalized on/off
10552        during MXCSR adventures.  On now.
10553
105542006-04-11 06:52  gb
10555
10556        * lib/describe.lisp: Comment indentation.
10557       
10558        No such thing as an interpreted function; hasn't been for years.
10559
105602006-04-11 06:51  gb
10561
10562        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10563        al.
10564
105652006-04-11 06:51  gb
10566
10567        * level-1/version.lisp: Bumped yesterday.
10568
105692006-04-11 06:50  gb
10570
10571        * level-1/l1-error-signal.lisp: Comments.
10572
105732006-04-11 06:50  gb
10574
10575        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10576        at least.
10577
105782006-04-11 06:50  gb
10579
10580        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10581        a fixnum constant is boxed in %SET-MXCSR.
10582
105832006-04-11 06:49  gb
10584
10585        * level-0/X86/x86-def.lisp: Get info about register usage.
10586
105872006-04-11 06:49  gb
10588
10589        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10590        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10591        though that it was dealing with a scaled index.
10592
105932006-04-11 06:48  gb
10594
10595        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10596        aref.
10597
105982006-04-11 06:48  gb
10599
10600        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10601        do something about FRAG-CODE-BUFFERs, and need to tone down
10602        expression overkill.
10603
106042006-04-11 06:46  gb
10605
10606        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10607        for when opcode ordinals change.
10608
106092006-04-11 06:46  gb
10610
10611        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10612        UUO-ERROR-ARRAY-RANK.
10613       
10614        Vinsn template fixup mechanism, for when opcode ordinals change.
10615
106162006-04-11 06:45  gb
10617
10618        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10619
106202006-04-11 06:45  gb
10621
10622        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10623
106242006-04-11 06:44  gb
10625
10626        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10627        specialized list header initialization.
10628
106292006-04-11 06:43  gb
10630
10631        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10632        2d float arrays.
10633
106342006-04-10 10:19  gb
10635
10636        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10637        foreign SP properly obeying C alignment conventions.  In order to
10638        get it aligned for lisp usage during the callback, an extra word
10639        needs to be pushed before the backpointer to the old foreign RSP.
10640
106412006-04-10 10:18  gb
10642
10643        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10644        is 16-byte aligned, so that the foreign stack pointer is aligned
10645        according to C conventions when we enter the signal handler on that
10646        stack.
10647
106482006-04-10 10:13  gb
10649
10650        * lib/numbers.lisp: Define FP infinities, since we're running with
10651        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10652        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10653        an unmasked FP exception was raised and unhandled.)
10654
106552006-04-10 10:10  gb
10656
10657        * lib/level-2.lisp: Remove the WARN and the conditionalization
10658        around bit/bitfield accessors on X8664.
10659
106602006-04-10 10:09  gb
10661
10662        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10663        from memory, we say "ldmxcsr".  We want to do such a load in order
10664        to write new values into the mxcsr.  To store it in memory, we say
10665        "stmxcsr".  We want to do such a store (and a subsequent load from
10666        memory) in order to access the value of the mxcsr.  Simple, no ?
10667
106682006-04-10 10:07  gb
10669
10670        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10671        %GET-BIT/%SET-BIT.
10672
106732006-04-10 08:29  gb
10674
10675        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10676        addition/multiplication: either arg can overlap result (and often
10677        will).  Float subtraction/division: caller should ensure that
10678        result and second arg are disjoint.
10679
106802006-04-10 08:27  gb
10681
10682        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10683        that result doesn't overlap second argument for non-commutative
10684        operations.
10685
106862006-04-10 08:26  gb
10687
10688        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10689
106902006-04-10 05:12  gb
10691
10692        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10693        malloc them.
10694
106952006-04-10 05:12  gb
10696
10697        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10698
106992006-04-10 05:11  gb
10700
10701        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10702        good reason not to.
10703
107042006-04-10 04:39  gb
10705
10706        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10707        are always big-endian.
10708
107092006-04-10 04:38  gb
10710
10711        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10712        reachable via a TRA, update the variable "dnode" so that the
10713        correct bits get set.
10714
107152006-04-10 04:37  gb
10716
10717        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10718
107192006-04-10 04:37  gb
10720
10721        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10722        a bit simpler.
10723
107242006-04-10 04:36  gb
10725
10726        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10727        the MAKE-LOAD-FORM method for hashtables.
10728
107292006-04-09 09:17  gb
10730
10731        * lisp-kernel/thread_manager.c: Inflate control stack size on
10732        x8664, until DWS marker works (and do so correctly this time).
10733
107342006-04-09 09:12  gb
10735
10736        * lisp-kernel/thread_manager.c: Inflate control stack size on
10737        x8664, until DWS marker works.
10738
107392006-04-09 09:09  gb
10740
10741        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10742        #+x86-target DBG trap.
10743
107442006-04-09 08:57  gb
10745
10746        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10747        (Should be exactly the same code, but may not have been 15 years
10748        ago or whenever this was written.)
10749
107502006-04-09 08:56  gb
10751
10752        * lisp-kernel/x86-spentry64.s,
10753        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10754        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10755
107562006-04-09 03:52  gb
10757
10758        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10759        condition_to_boolean.  Not clear why this is necessary, but it
10760        seems to be.
10761
107622006-04-09 03:24  gb
10763
10764        * lisp-kernel/x86-macros.s: Use shorter sequence in
10765        condition_to_boolean.
10766
107672006-04-09 02:32  gb
10768
10769        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10770        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10771        other things being equal.
10772
107732006-04-09 01:37  gb
10774
10775        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10776        operands backwards.
10777
107782006-04-09 01:37  gb
10779
10780        * compiler/optimizers.lisp: Comment formatting.
10781
107822006-04-09 01:29  gb
10783
10784        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10785        bsr/xorl != clz when (zerop n).
10786
107872006-04-08 21:25  gb
10788
10789        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10790        current thread before entering kernel debugger.
10791
107922006-04-08 21:21  gb
10793
10794        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10795        (TARGET-XLOAD-MODULES).
10796
107972006-04-08 21:21  gb
10798
10799        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10800
108012006-04-08 21:20  gb
10802
10803        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10804
108052006-04-08 20:46  gb
10806
10807        * lib/foreign-types.lisp: Add missing paren ...
10808
108092006-04-08 20:45  gb
10810
10811        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10812
108132006-04-08 20:44  gb
10814
10815        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10816        structs by value, sort of.
10817
108182006-04-08 20:43  gb
10819
10820        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10821
108222006-04-08 20:42  gb
10823
10824        * library/hash-cons.lisp: Port some of this to x8664; need to add
10825        code to maintain "used" bitmap.
10826
108272006-04-08 20:42  gb
10828
10829        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10830        short term.
10831
108322006-04-08 20:41  gb
10833
10834        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10835        someday fix this crap.
10836
108372006-04-08 20:40  gb
10838
10839        * lib/describe.lisp: Conditionalize, a little.
10840
108412006-04-08 20:40  gb
10842
10843        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10844
108452006-04-08 20:39  gb
10846
10847        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10848
108492006-04-08 20:39  gb
10850
10851        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10852
108532006-04-08 20:39  gb
10854
10855        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10856        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10857
108582006-04-08 20:38  gb
10859
10860        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10861        l1-readloop-lds (nothing to do with PPC or traps ...)
10862
108632006-04-08 20:37  gb
10864
10865        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10866
108672006-04-08 04:46  gb
10868
10869        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10870        restore, even if there's only one values-producing form (that form
10871        might produce more values than will fit in argument registers, and
10872        we therefore have to reserve space for a stack frame.)
10873
108742006-04-08 04:45  gb
10875
10876        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10877
108782006-04-08 04:43  gb
10879
10880        * lib/macros.lisp: Scanning backwards for instructions depends on a
10881        reasonable architecture.
10882
108832006-04-08 04:43  gb
10884
10885        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10886
108872006-04-08 04:42  gb
10888
10889        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10890        target arch.
10891
108922006-04-08 04:41  gb
10893
10894        * xdump/.cvsignore: ignore *.*fsl
10895
108962006-04-07 22:46  gb
10897
10898        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10899
109002006-04-07 22:45  gb
10901
10902        * compiler/nx1.lisp: Provide an FTYPE declaration for
10903        %DEFINE-PPC-LAP-FUNCTION.
10904
109052006-04-07 22:25  gb
10906
10907        * level-1/version.lisp: Bump.
10908
109092006-04-07 22:19  gb