source: trunk/ccl/ChangeLog @ 7250

Last change on this file since 7250 was 7250, 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.5 KB
Line 
12007-09-18 05:10  gb
2
3        * level-0/l0-numbers.lisp: Typo in constant again.
4
52007-09-17 21:10  gb
6
7        * level-1/sysutils.lisp: Return all three values from
8        CCL::PRINT-DEFERRED-WARNINGS
9
102007-09-17 06:10  gb
11
12        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
13        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
14        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
15        Do a real MOD to obtain the next item in the series and update the
16        state with that value.  (This means that the high bit of the high
17        half of the result is always clear; or in the sign bit from the low
18        half.)
19
202007-09-16 18:10  gb
21
22        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
23        ...
24
252007-09-16 17:10  gb
26
27        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
28        before key arg(s), so assign it an address before processing &key
29        initforms.
30
312007-09-15 17:10  gb
32
33        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
34        -LENGTH* when printing break messages.
35
362007-09-13 20:10  gb
37
38        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
39        :element-type to ccl:run-program to allow for binary streams
40
412007-09-13 06:55  gb
42
43        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
44        src/elisp/README, src/spell/README: Restore some README files,
45        which had somehow gotten lost in translation.
46
472007-09-13 06:54  gb
48
49        *
50        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
51        ib/: classes.nib, info.nib, keyedobjects.nib: not used
52
532007-09-13 06:52  gb
54
55        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
56        for certain kinds of MULTIPLE-VALUE-CALL differently; in
57        particular, note the effect of pushing such a label on stack depth.
58
592007-09-13 06:50  gb
60
61        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
62        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
63        containing directory exists in cvs.
64
652007-09-06 14:10  gb
66
67        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
68        write-info-plist
69
702007-09-04 23:11  gb
71
72        * cocoa-ide/cocoa-editor.lisp: New! Improved!
73       
74        The code which arranges for editing changes to be processed in the
75        main thread now does so via an NSInvocation (ObjC's notion of a
76        closure, sort of); the methods which run in the main thread handle
77        the job of synchronizing the underlying the Hemlock string and the
78        "real" NSMutableAttributedString as well as informing the text
79        system of pending editing changes via
80        #/edited:range:changeInLength:.  The code which processes deletions
81        does the change processing before modifying the string (other
82        methods do it after the change); this seems to be necessary to
83        avoid some things that could cause ticket:50.  (I'm not sure if
84        this fixes ticket:50, but it does seem to fix a reproducible case.)
85       
86        The #/replaceCharactersInRange:withString: method on
87        hemlock-text-storage (which handles buffer changes originating from
88        non-Hemlock sources) is careful to use a :right-inserting temporary
89        mark when modifying the buffer, to help ensure that
90        insertions/deletions take place at the correct absolute position.
91        (This may at least partially address bugs related to things getting
92        confused/out-of-bounds errors when doing lots of cutting and
93        pasting, though it's hard to know without reproducible cases.)
94       
95        The macros NSSTRING-ENCODING-TO-NSINTEGER and
96        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
97        least one of them wasn't.)
98       
99        The handling of text encoding for editor documents has changed in a
100        few ways.  If "automatic" encoding is used in an "Open ..." dialog
101        and is successfully able to infer a text file's encoding, the
102        encoding that was inferred becomes the document's encoding (used in
103        subsequent "save" operations.)  On some OSX versions, the automatic
104        detection mechanism can only recognize UTF-16 files that contain a
105        leading BOM (and the editor's code for dealing with the automatic
106        mechanism didn't expect this to ever work.)  On other systems, the
107        automatic mechanism can return something correct (I've seen UTF-8)
108        but possibly suboptimal.
109       
110        The Open... dialog now defaults to something derived from the
111        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
112        "automatic" is a little unpredictable, the new default is probably
113        better.
114       
115        The NSDocument mechanism for creating backup files (with names of
116        the form "name~.ext") is not used; when backup files are created,
117        we try to copy the original to a file whose name conforms to the
118        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
119        seem to work better when the Emacs scheme is used (though I suppose
120        some people might prefer the NSDocument scheme and we could make
121        this a preference.)
122
1232007-09-04 22:11  gb
124
125        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
126        creating a Listener, since (a) that method's deprecated in favor of
127        #/setFileURL: and (b) a newly-created Listener doesn't really have
128        an associated filename, and so shouldn't get the icon and popup in
129        its titlebar.
130       
131        Do arrange that (unless/until a listener document is saved to a
132        file) its window title is based on the underlying Hemlock buffer's
133        name.  (If one ever attempts to save a listener document, the
134        proposed file name is the internal NSDocument name; we might or
135        might not want to change that.)
136
1372007-09-04 22:10  gb
138
139        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
140        *MODELINE-FONT-NAME*, -SIZE*.
141
1422007-09-04 19:13  gb
143
144        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
145        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
146        which was supposed to allow us to track the high end of a range of
147        pages that'd been written to and not freed (so we'd zero them
148        lazily when they were reallocated.)  Such a scheme would really
149        need to track both ends of such a range, and the old scheme wound
150        up being overly zealous and often zeroed pages that were already
151        zeroed.  Zero the range between the old free pointer and the new
152        one after each GC, instead.
153       
154        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
155        carefully.
156
1572007-09-04 19:12  gb
158
159        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
160        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
161
1622007-09-04 19:11  gb
163
164        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
165        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
166        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
167        this in the PPC backends.
168       
169        (This needs testing ...)
170
1712007-09-04 19:10  gb
172
173        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
174        :single-float callback results have been coerced to :double-float
175        on x8664.
176
1772007-09-03 18:10  gb
178
179        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
180        selection or the symbol around point, regardless of global parsing
181        state (Ticket:95).  While in there, make meta-. with a numarg
182        prompt for symbol to look up.
183
1842007-08-30 20:10  gb
185
186        * level-1/l1-error-system.lisp: Add a restart for unbound
187        variable/undefined function errors -- if there is a unique
188        bound/fbound symbol of the same name in another package, offer to
189        use it instead.
190
1912007-08-30 19:10  gb
192
193        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
194        inaccesible files; it might return an exit status of 2 if it finds
195        such files, so treat that as "success" for now (ticket:98).
196
1972007-08-30 18:11  gb
198
199        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
200        Variable command output (ticket:97).
201
2022007-08-30 18:10  gb
203
204        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
205        VARIABLE-VALUE to access buffer's package (ticket:82).
206
2072007-08-30 15:11  gb
208
209        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
210        code to copy user-supplied nibfiles into a saved application bundle
211
2122007-08-30 14:10  gb
213
214        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
215        all callers of current-point-for-deletion handle the nil return
216        value case.  This fixes ticket:85
217
2182007-08-29 20:11  gb
219
220        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
221        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
222        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
223        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
224        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
225        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
226        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
227        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
228        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
229        hemlock/src/fill.lisp, hemlock/src/font.lisp,
230        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
231        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
232        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
233        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
234        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
235        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
236        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
237        hemlock/src/macros.lisp, hemlock/src/main.lisp,
238        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
239        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
240        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
241        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
242        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
243        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
244        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
245        hemlock/src/text.lisp, hemlock/src/undo.lisp,
246        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
247        hemlock/src/archive/auto-save.lisp,
248        hemlock/src/archive/bit-display.lisp,
249        hemlock/src/archive/bit-screen.lisp,
250        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
251        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
252        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
253        hemlock/src/archive/eval-server.lisp,
254        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
255        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
256        hemlock/src/archive/lisp-lib.lisp,
257        hemlock/src/archive/lispbuf.lisp,
258        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
259        hemlock/src/archive/netnews.lisp,
260        hemlock/src/archive/overwrite.lisp,
261        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
262        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
263        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
264        hemlock/src/archive/spell-corr.lisp,
265        hemlock/src/archive/spell-rt.lisp,
266        hemlock/src/archive/spellcoms.lisp,
267        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
268        hemlock/src/archive/ts-stream.lisp,
269        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
270        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
271        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
272        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
273        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
274        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
275        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
276        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
277        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
278        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
279        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
280        hemlock/website/index.html.in: umm, load cocoa-grep where it will
281        work...
282
2832007-08-29 20:10  gb
284
285        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
286
2872007-08-29 13:11  gb
288
289        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
290
2912007-08-29 12:12  gb
292
293        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
294        arg (simple case), move point to the location of the temporary mark
295        after calling the indent function.
296
2972007-08-29 12:11  gb
298
299        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
300        returns 2 values: the "column" (with tabs expanded) of the first
301        non-whitespace character on the line and that character's position.
302         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
303        position if no changes are necessary.
304
3052007-08-29 12:10  gb
306
307        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
308        method, make an NS-MUTABLE-STRING even if the string from the
309        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
310        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
311         mutable.) For ticket:84.
312
3132007-08-28 23:10  gb
314
315        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
316        hi::scroll-window actually scroll, not just move insertion point
317        around.  Fixes ticket:88.
318
3192007-08-26 13:11  gb
320
321        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
322        keyword argument to build-application: main-nib-name; names the
323        nigfile that is to be the main nib of the built application
324
3252007-08-26 12:10  gb
326
327        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
328        application bulder to trunk
329
3302007-08-25 02:13  gb
331
332        * cocoa-ide/cocoa-listener.lisp:
333        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
334        #\^d after sending the string.  (This is just a workaround for
335        ticket:82; the trailing #\^d is just treated as whitespace and
336        terminates calls to READ.  We really want some way of recognizing
337        "end of selection" and treating that like a transient EOF in some
338        cases.)
339
3402007-08-25 02:12  gb
341
342        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
343        #/openDocumentWithContentsOfURL:display:error:, since calling
344        #/openDocumentWithContentsOfURL:display: complains that
345        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
346        Cocoa.  (Note that we'd been calling
347        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
348        implementation without incident.)
349
3502007-08-25 02:11  gb
351
352        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
353        notes buffer modification.
354
3552007-08-25 02:10  gb
356
357        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
358        modification.
359
3602007-08-23 17:17  gb
361
362        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
363        method.
364
3652007-08-23 17:16  gb
366
367        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
368        #/editingInProgress method.  Add some more (conditionalized) debug
369        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
370        command thread as well as in Cocoa thread.  Make sure that Hemlock
371        command thread has bindings of command-processing data structures,
372        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
373        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
374        only set by isearch when it exits.
375
3762007-08-23 17:15  gb
377
378        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
379        font name and size; initially, Monaco 9.  (Not yet changeable
380        through preferences panel.) Adjust outline view's row height based
381        on font height.  Set the data cell to "non-editable" (could have
382        done this in IB).  Provide handlers for some menu commands
383        (continue, restarts, exitBreak); no need to validate menu items for
384        them (those commands should be available whenever backtrace dialog
385        is active.)
386
3872007-08-23 17:14  gb
388
389        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
390        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
391
3922007-08-23 17:13  gb
393
394        * cocoa-ide/hemlock/src/package.lisp: Export
395        RECURSIVE-GET-KEY-EVENT.
396
3972007-08-23 17:12  gb
398
399        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
400        read symbol for arglist.  (Should probably be more careful
401        elsewhere, too.)
402
4032007-08-23 17:11  gb
404
405        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
406        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
407        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
408
4092007-08-23 17:10  gb
410
411        * cocoa-ide/hemlock/src/echo.lisp: Don't call
412        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
413        still be pending on the echo area (how ?), and
414        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
415        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
416
4172007-08-23 16:11  gb
418
419        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
420        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
421        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
422        events in some modal loop in a command.  (The idea is that toplevel
423        editing commands inhibit redisplay in the main buffer while they're
424        active; commands which recursively process key events and which may
425        make changes to that buffer should allow redisplay while they're
426        waiting in RECURSIVE-GET-KEY-EVENT.)
427
4282007-08-23 16:10  gb
429
430        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
431        revert.
432
4332007-08-18 19:11  gb
434
435        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
436        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
437        race conditions where two threads try to update a distpatch table
438        index with different {wrapper, combined-method} pairs at the same
439        time.  (As it's written, if the store-conditional fails because a
440        slot that we thought was free is now in use, we simply don't cache
441        the pair and get a cache miss the next time; that may or may not be
442        more work than repeating the whole process would be.)
443       
444        The store-conditional is used on attempt to update the
445        combined-method slot in the pair; the wrapper slot is only updated
446        if the store-conditional succeeds.  Code which probes the wrapper
447        slots shouldn't be confused by a half-updated pair (should never
448        see a non-null wrapper slot and a null combined-method slot.)
449
4502007-08-18 17:11  gb
451
452        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
453        %DECODE-TYPE.
454
4552007-08-18 16:10  gb
456
457        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
458        determine if selection highlighting can be used, since
459        #_class_respondsToSelector requires ObjC-2.0)
460
4612007-08-16 08:22  gb
462
463        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
464        extended selection highlighting if it's supported.
465       
466        Clear the shift bit from key events associated with standard-chars.
467
4682007-08-16 08:20  gb
469
470        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
471        bound to movement commands run different commands.
472       
473        Left-mouse has the :mouse-exit logical attribute.
474
4752007-08-16 08:19  gb
476
477        * cocoa-ide/hemlock/src/buffer.lisp:
478        CURRENT-POINT-COLLAPSING-SELECTION and
479        CURRENT-POINT-EXTENDING-SELECTION replace
480        CURRENT-POINT-FOR-MOVEMENT.
481
4822007-08-16 08:18  gb
483
484        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
485        translation.
486       
487        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
488        selection highlighting under Leopard.
489
4902007-08-16 08:16  gb
491
492        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
493        "shifted" and "unshifted" variants.
494
4952007-08-16 08:15  gb
496
497        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
498        attribute.
499
5002007-08-16 08:14  gb
501
502        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
503        bit for standard-char (and upper-case.) This means that
504        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
505        (in which the shift modifier isn't explicitly set) and that
506        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
507        modifier is set in the latter.)
508
5092007-08-16 08:13  gb
510
511        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
512        the buffer if the line's already indented properly.
513       
514        Movement commands come in two variants: those that collapse and
515        those that extend the selection.
516
5172007-08-16 08:12  gb
518
519        * cocoa-ide/hemlock/src/package.lisp: Export
520        CURRENT-POINT-EXTENDING-SELECTION and
521        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
522        CURRENT-POINT-FOR-MOVEMENT.
523
5242007-08-16 08:10  gb
525
526        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
527        empatically (under Leopard) after successful (non incremental)
528        search.
529       
530        Incremental search also hilites the selection, but doesn't yet
531        manage the selection on failure.
532
5332007-08-16 07:10  gb
534
535        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
536        by invoking #/activateHemlockView on main thread; call
537        deactivate-hemlock-view on the peer.
538       
539        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
540        but I'm fairly sure that this stuff needs to happen on the main
541        thread.
542
5432007-08-09 16:10  gb
544
545        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
546        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
547
5482007-08-07 15:10  gb
549
550        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
551        beginning of buffer and end of buffer.  It's Mac standard, and I
552        use it a lot.  Home was bound to "Help".
553       
554        Make clicking the mouse while incremental searching exit instead of
555        abort, leaving the insertion point where you click instead of where
556        the isearch was started.
557
5582007-08-06 23:10  gb
559
560        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
561        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
562        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
563        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
564        hemlock key event, set the hemlock shift bit if the the Cocoa shift
565        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
566        bit cleared and the keysym downcased (if necessary).  Leave
567        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
568        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
569        deactivates the region ("collapses the selection") if the shift bit
570        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
571        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
572        hopefully all) movement commands, to address ticket:36 .  Define a
573        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
574        to it to address ticket:44 .
575
5762007-08-06 19:10  gb
577
578        * objc-bridge/objc-support.lisp: careful with db stuff
579
5802007-08-04 13:12  gb
581
582        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
583        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
584         (Should maybe do this on mousedown in the echo area, too.) Some
585        indentation changes.
586
5872007-08-04 12:14  gb
588
589        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
590        :abort key event.
591
5922007-08-04 12:13  gb
593
594        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
595        title for show lossage command.
596
5972007-08-04 12:12  gb
598
599        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
600        left mouse down, so that we can use #k"leftdown".
601
6022007-08-04 12:11  gb
603
604        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
605
6062007-08-03 15:10  gb
607
608        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
609
6102007-08-03 10:10  gb
611
612        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
613        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
614
6152007-08-03 09:10  gb
616
617        * level-0/l0-array.lisp: Define list-to-vector.
618
6192007-08-02 07:16  gb
620
621        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
622        #/changeFont:; use targeted messages.  Ensure that font panel picks
623        up the right font.
624
6252007-08-02 07:16  gb
626
627        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
628        default.
629
6302007-08-02 07:15  gb
631
632        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
633        view, echo area) unselectable when activating via Hemlock command.
634        Text views don't use font panel by default; enable/disable font
635        panel when setting text color.
636
6372007-08-02 07:14  gb
638
639        * cocoa-ide/.cvsignore: New.
640
6412007-08-02 07:13  gb
642
643        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
644        CREATE-INTERFACES.
645
6462007-08-02 07:12  gb
647
648        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
649
6502007-08-02 07:11  gb
651
652        * library/parse-ffi.lisp: Don't be verbose about explict struct
653        returns.
654
6552007-08-02 07:10  gb
656
657        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
658        anymore.
659
6602007-07-31 19:10  gb
661
662        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
663        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
664
6652007-07-31 07:12  gb
666
667        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
668        to #o644 (not #o666); make sure that it's actually used when
669        creating the image (even if not prepending a kernel to the image.)
670
6712007-07-31 07:11  gb
672
673        * level-1/l1-application.lisp: When processing --version option,
674        don't write to *terminal-io* (which doesn't exist yet.)
675
6762007-07-22 23:50  gb
677
678        * release-notes.txt: Add more stuff.
679
6802007-07-22 23:11  gb
681
682        * level-1/version.lisp: Bump.
683
6842007-07-22 23:10  gb
685
686        * release-notes.txt: Update for 1.1-pre-070722.
687
6882007-07-22 21:11  gb
689
690        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
691
6922007-07-22 21:10  gb
693
694        * cocoa-ide/README: New file.
695
6962007-07-22 18:51  gb
697
698        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
699        package.
700
7012007-07-22 18:50  gb
702
703        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
704
7052007-07-22 18:49  gb
706
707        * level-1/version.lisp: Bump.
708
7092007-07-22 18:48  gb
710
711        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
712        Allocate callback trampolines via mmap on ppc, too.
713
7142007-07-22 18:47  gb
715
716        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
717        RUN-PROGRAM to merge-pathnames.
718
7192007-07-22 18:46  gb
720
721        * level-1/l1-utils.lisp: Don't define BEEP.
722
7232007-07-22 18:46  gb
724
725        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
726        was counting chars (nchars) twice.
727
7282007-07-22 18:45  gb
729
730        * level-1/l1-streams.lisp: selection-stream changes.
731
7322007-07-22 18:44  gb
733
734        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
735        about restarts in backtrace context.
736
7372007-07-22 18:43  gb
738
739        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
740        can be overridden.
741
7422007-07-22 18:42  gb
743
744        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
745        *MODULE-SEARCH-PATH*.
746
7472007-07-22 18:41  gb
748
749        * level-1/l1-format.lisp: Handling of * format directive when
750        dealing with circularity screws up other things that expect
751        *FORMAT-ARGUMENTS* to share structure with
752        *FORMAT-ORIGINAL-ARGUMENTS*.
753
7542007-07-22 18:40  gb
755
756        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
757        ENSURE-DIRECTORY-NAMESTRING.
758
7592007-07-22 18:40  gb
760
761        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
762        interactive break.
763
7642007-07-22 18:39  gb
765
766        * level-1/l1-error-system.lisp: Stream error context stuff.
767
7682007-07-22 18:38  gb
769
770        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
771        (e.g., as NSExceptions.)
772
7732007-07-22 18:37  gb
774
775        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
776        CLASS-SLOT-INITARGS.
777
7782007-07-22 18:36  gb
779
780        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
781        allocation stuff (which uses mmap to ensure that the callback is in
782        executable memory) here, since it'll be needed on ppc64 leopard, at
783        least.
784
7852007-07-22 18:35  gb
786
787        * level-1/l1-application.lisp: Argument handling and interactive
788        stream initialization happens in a :before method on
789        (toplevel-function application).
790
7912007-07-22 18:34  gb
792
793        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
794        special args/locals, too.
795
7962007-07-22 18:33  gb
797
798        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
799        for backtrace/inspect someday.
800
8012007-07-22 18:33  gb
802
803        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
804
8052007-07-22 18:32  gb
806
807        * lib/macros.lisp: Callbacks that try to do magic foreign error
808        stuff use HANDLER-BIND, not HANDLER-CASE.
809       
810        Other callback-changes to reduce incidental consing sometimes.
811
8122007-07-22 18:31  gb
813
814        * lib/backtrace.lisp: %show-args-and-locals,
815        %stack-frames-in-context: changes for new backtrace presentation.
816
8172007-07-22 18:30  gb
818
819        * lib/compile-ccl.lisp: Remove some duplicate definitions.
820
8212007-07-22 18:29  gb
822
823        * lib/describe.lisp: Some (signigicant) stack-frame changes.
824
8252007-07-22 18:28  gb
826
827        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
828
8292007-07-22 18:27  gb
830
831        * lib/arglist.lisp: Provide -some- arglist info for special
832        operators.  ARG-NAMES-FROM-MAP.
833
8342007-07-22 18:27  gb
835
836        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
837
8382007-07-22 18:26  gb
839
840        * lib/source-files.lisp: Comment formatting.
841
8422007-07-22 18:25  gb
843
844        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
845        to provide context.
846
8472007-07-22 18:24  gb
848
849        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
850        get confused by null register values, etc.
851
8522007-07-22 18:23  gb
853
854        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
855        not ppc32/ppc64.
856
8572007-07-22 18:22  gb
858
859        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
860        64-bit key-scrambling stuff.
861
8622007-07-22 18:21  gb
863
864        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
865
8662007-07-22 18:21  gb
867
868        * level-0/l0-utils.lisp: s32->u32, u32->s32.
869
8702007-07-22 18:20  gb
871
872        * level-0/l0-error.lisp: foreign exception error stuff.
873
8742007-07-22 18:19  gb
875
876        * level-1/l1-sockets.lisp: Sockets created with :format :binary
877        don't have element-type of character, though this crap is all
878        pretty nebulous.
879
8802007-07-22 18:18  gb
881
882        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
883
8842007-07-22 18:17  gb
885
886        * library/pty.lisp: set-pty-raw.
887
8882007-07-22 18:16  gb
889
890        * library/hemlock.lisp: Moved elsewhere.
891
8922007-07-22 18:15  gb
893
894        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
895        frames.
896
8972007-07-22 18:14  gb
898
899        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
900
9012007-07-22 18:14  gb
902
903        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
904        exception bit on interrupt.
905
9062007-07-22 18:13  gb
907
908        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
909        tcr flag bits, including new one for foreign exceptions.
910
9112007-07-22 18:12  gb
912
913        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
914
9152007-07-22 18:11  gb
916
917        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
918        exceptions.
919
9202007-07-22 18:10  gb
921
922        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
923        stack for pthread.  Foreign exception callbacks: put some 0s on the
924        stack for callback.
925
9262007-07-22 18:09  gb
927
928        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
929
9302007-07-22 18:08  gb
931
932        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
933        ensure_stack_limit(): if stack size is constrained by limits, don't
934        exceed those limits.
935
9362007-07-22 18:08  gb
937
938        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
939
9402007-07-22 18:07  gb
941
942        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
943
9442007-07-22 18:06  gb
945
946        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
947
9482007-07-22 18:03  gb
949
950        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
951        OpenMCL.app/Contents/MacOS/dppccl,
952        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
953        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
954        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
955        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
956        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
957        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
958        ib,
959        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
960        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
961        cts.nib,
962        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
963        lasses.nib,
964        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
965        nfo.nib,
966        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
967        eyedobjects.nib,
968        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
969        nib,
970        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
971        ,
972        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
973        ects.nib,
974        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
975        .nib,
976        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
977        b,
978        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
979        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
980        OpenMCL.app/Contents/Resources/Help/index.html,
981        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
982        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
983        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
984        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
985        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
986        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
987        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
988        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
989        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
990        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
991        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
992        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
993        rings,
994        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
995        /classes.nib,
996        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
997        /info.nib,
998        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
999        /keyedobjects.nib,
1000        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1001        ctor.nib/classes.nib,
1002        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1003        ctor.nib/info.nib,
1004        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1005        ctor.nib/keyedobjects.nib,
1006        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1007        b/classes.nib,
1008        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1009        b/info.nib,
1010        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1011        b/keyedobjects.nib,
1012        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1013        ib/classes.nib,
1014        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1015        ib/info.nib,
1016        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1017        ib/keyedobjects.nib,
1018        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1019        ib/classes.nib,
1020        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1021        ib/info.nib,
1022        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1023        ib/keyedobjects.nib,
1024        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1025        nib/classes.nib,
1026        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1027        nib/info.nib,
1028        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1029        nib/keyedobjects.nib,
1030        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1031        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1032        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1033        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1034        cocoa-ide/hemlock/hemlock11.cursor,
1035        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1036        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1037        cocoa-ide/hemlock/doc/.cvsignore,
1038        cocoa-ide/hemlock/doc/cim/.cvsignore,
1039        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1040        cocoa-ide/hemlock/doc/cim/cim.mss,
1041        cocoa-ide/hemlock/doc/misc/.cvsignore,
1042        cocoa-ide/hemlock/doc/misc/compilation.order,
1043        cocoa-ide/hemlock/doc/misc/hemlock.log,
1044        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1045        cocoa-ide/hemlock/doc/misc/notes.txt,
1046        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1047        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1048        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1049        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1050        cocoa-ide/hemlock/doc/user/.cvsignore,
1051        cocoa-ide/hemlock/doc/user/commands.mss,
1052        cocoa-ide/hemlock/doc/user/intro.mss,
1053        cocoa-ide/hemlock/doc/user/lisp.mss,
1054        cocoa-ide/hemlock/doc/user/mail.mss,
1055        cocoa-ide/hemlock/doc/user/netnews.mss,
1056        cocoa-ide/hemlock/doc/user/special-modes.mss,
1057        cocoa-ide/hemlock/doc/user/user.mss,
1058        cocoa-ide/hemlock/maint/.cvsignore,
1059        cocoa-ide/hemlock/maint/publish,
1060        cocoa-ide/hemlock/resources/.cvsignore,
1061        cocoa-ide/hemlock/resources/XKeysymDB,
1062        cocoa-ide/hemlock/resources/mh-scan,
1063        cocoa-ide/hemlock/resources/spell-dictionary.text,
1064        cocoa-ide/hemlock/src/.cvsignore,
1065        cocoa-ide/hemlock/src/bindings-gb.lisp,
1066        cocoa-ide/hemlock/src/bindings.lisp,
1067        cocoa-ide/hemlock/src/buffer.lisp,
1068        cocoa-ide/hemlock/src/charmacs.lisp,
1069        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1070        cocoa-ide/hemlock/src/command.lisp,
1071        cocoa-ide/hemlock/src/comments.lisp,
1072        cocoa-ide/hemlock/src/completion.lisp,
1073        cocoa-ide/hemlock/src/cursor.lisp,
1074        cocoa-ide/hemlock/src/decls.lisp,
1075        cocoa-ide/hemlock/src/defsyn.lisp,
1076        cocoa-ide/hemlock/src/doccoms.lisp,
1077        cocoa-ide/hemlock/src/echo.lisp,
1078        cocoa-ide/hemlock/src/echocoms.lisp,
1079        cocoa-ide/hemlock/src/edit-defs.lisp,
1080        cocoa-ide/hemlock/src/filecoms.lisp,
1081        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1082        cocoa-ide/hemlock/src/font.lisp,
1083        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1084        cocoa-ide/hemlock/src/htext1.lisp,
1085        cocoa-ide/hemlock/src/htext2.lisp,
1086        cocoa-ide/hemlock/src/htext3.lisp,
1087        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1088        cocoa-ide/hemlock/src/indent.lisp,
1089        cocoa-ide/hemlock/src/interp.lisp,
1090        cocoa-ide/hemlock/src/kbdmac.lisp,
1091        cocoa-ide/hemlock/src/key-event.lisp,
1092        cocoa-ide/hemlock/src/keysym-defs.lisp,
1093        cocoa-ide/hemlock/src/killcoms.lisp,
1094        cocoa-ide/hemlock/src/line.lisp,
1095        cocoa-ide/hemlock/src/linimage.lisp,
1096        cocoa-ide/hemlock/src/lispdep.lisp,
1097        cocoa-ide/hemlock/src/lispmode.lisp,
1098        cocoa-ide/hemlock/src/listener.lisp,
1099        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1100        cocoa-ide/hemlock/src/modeline.lisp,
1101        cocoa-ide/hemlock/src/morecoms.lisp,
1102        cocoa-ide/hemlock/src/package.lisp,
1103        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1104        cocoa-ide/hemlock/src/register.lisp,
1105        cocoa-ide/hemlock/src/ring.lisp,
1106        cocoa-ide/hemlock/src/rompsite.lisp,
1107        cocoa-ide/hemlock/src/search1.lisp,
1108        cocoa-ide/hemlock/src/search2.lisp,
1109        cocoa-ide/hemlock/src/searchcoms.lisp,
1110        cocoa-ide/hemlock/src/srccom.lisp,
1111        cocoa-ide/hemlock/src/streams.lisp,
1112        cocoa-ide/hemlock/src/struct.lisp,
1113        cocoa-ide/hemlock/src/syntax.lisp,
1114        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1115        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1116        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1117        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1118        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1119        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1120        cocoa-ide/hemlock/src/archive/bufed.lisp,
1121        cocoa-ide/hemlock/src/archive/debug.lisp,
1122        cocoa-ide/hemlock/src/archive/dired.lisp,
1123        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1124        cocoa-ide/hemlock/src/archive/display.lisp,
1125        cocoa-ide/hemlock/src/archive/dylan.lisp,
1126        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1127        cocoa-ide/hemlock/src/archive/group.lisp,
1128        cocoa-ide/hemlock/src/archive/highlight.lisp,
1129        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1130        cocoa-ide/hemlock/src/archive/input.lisp,
1131        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1132        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1133        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1134        cocoa-ide/hemlock/src/archive/mh.lisp,
1135        cocoa-ide/hemlock/src/archive/netnews.lisp,
1136        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1137        cocoa-ide/hemlock/src/archive/pascal.lisp,
1138        cocoa-ide/hemlock/src/archive/rcs.lisp,
1139        cocoa-ide/hemlock/src/archive/screen.lisp,
1140        cocoa-ide/hemlock/src/archive/scribe.lisp,
1141        cocoa-ide/hemlock/src/archive/shell.lisp,
1142        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1143        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1144        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1145        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1146        cocoa-ide/hemlock/src/archive/srccom.lisp,
1147        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1148        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1149        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1150        cocoa-ide/hemlock/src/archive/window.lisp,
1151        cocoa-ide/hemlock/src/archive/winimage.lisp,
1152        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1153        cocoa-ide/hemlock/src/elisp/.cvsignore,
1154        cocoa-ide/hemlock/src/elisp/base.lisp,
1155        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1156        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1157        cocoa-ide/hemlock/src/elisp/compile.lisp,
1158        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1159        cocoa-ide/hemlock/src/elisp/implementation-needed,
1160        cocoa-ide/hemlock/src/elisp/internals.lisp,
1161        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1162        cocoa-ide/hemlock/src/elisp/packages.lisp,
1163        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1164        cocoa-ide/hemlock/src/spell/.cvsignore,
1165        cocoa-ide/hemlock/src/spell/build.lisp,
1166        cocoa-ide/hemlock/src/spell/classes.lisp,
1167        cocoa-ide/hemlock/src/spell/constants.lisp,
1168        cocoa-ide/hemlock/src/spell/correlate.lisp,
1169        cocoa-ide/hemlock/src/spell/flags.lisp,
1170        cocoa-ide/hemlock/src/spell/hashing.lisp,
1171        cocoa-ide/hemlock/src/spell/io.lisp,
1172        cocoa-ide/hemlock/src/spell/package.lisp,
1173        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1174        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1175        cocoa-ide/hemlock/src/spell/spell.asd,
1176        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1177        cocoa-ide/hemlock/src/tty/.cvsignore,
1178        cocoa-ide/hemlock/src/tty/termcap.lisp,
1179        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1180        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1181        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1182        cocoa-ide/hemlock/src/wire/.cvsignore,
1183        cocoa-ide/hemlock/src/wire/Notes,
1184        cocoa-ide/hemlock/src/wire/package.lisp,
1185        cocoa-ide/hemlock/src/wire/port.lisp,
1186        cocoa-ide/hemlock/src/wire/remote.lisp,
1187        cocoa-ide/hemlock/src/wire/wire.lisp,
1188        cocoa-ide/hemlock/unused/.cvsignore,
1189        cocoa-ide/hemlock/unused/bit-stream.lisp,
1190        cocoa-ide/hemlock/unused/clx-ext.lisp,
1191        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1192        cocoa-ide/hemlock/unused/gosmacs.lisp,
1193        cocoa-ide/hemlock/unused/hacks.lisp,
1194        cocoa-ide/hemlock/unused/hemcom.lisp,
1195        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1196        cocoa-ide/hemlock/unused/keytran.lisp,
1197        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1198        cocoa-ide/hemlock/unused/spell-build.lisp,
1199        cocoa-ide/hemlock/unused/struct-ed.lisp,
1200        cocoa-ide/hemlock/unused/tty-stream.lisp,
1201        cocoa-ide/hemlock/website/.cvsignore,
1202        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1203        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1204        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1205        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1206        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1207        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1208        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1209        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1210        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1211        examples/objc-clos.lisp, examples/objc-package.lisp,
1212        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1213        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1214        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1215        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1216        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1217        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1218        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1219        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1220        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1221        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1222        hemlock/doc/misc/perq-hemlock.log,
1223        hemlock/doc/misc/things-to-do.txt,
1224        hemlock/doc/scribe-converter/.cvsignore,
1225        hemlock/doc/scribe-converter/NOTES,
1226        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1227        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1228        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1229        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1230        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1231        hemlock/maint/publish, hemlock/resources/.cvsignore,
1232        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1233        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1234        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1235        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1236        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1237        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1238        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1239        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1240        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1241        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1242        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1243        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1244        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1245        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1246        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1247        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1248        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1249        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1250        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1251        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1252        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1253        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1254        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1255        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1256        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1257        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1258        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1259        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1260        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1261        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1262        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1263        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1264        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1265        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1266        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1267        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1268        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1269        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1270        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1271        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1272        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1273        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1274        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1275        hemlock/src/table.lisp, hemlock/src/text.lisp,
1276        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1277        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1278        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1279        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1280        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1281        hemlock/src/elisp/base.lisp,
1282        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1283        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1284        hemlock/src/elisp/hemlock-shims.lisp,
1285        hemlock/src/elisp/implementation-needed,
1286        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1287        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1288        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1289        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1290        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1291        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1292        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1293        hemlock/src/spell/spell-aug.lisp,
1294        hemlock/src/spell/spell-dictionary.text,
1295        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1296        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1297        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1298        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1299        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1300        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1301        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1302        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1303        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1304        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1305        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1306        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1307        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1308        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1309        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1310        objc-bridge/fake-cfbundle-path.lisp,
1311        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1312        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1313        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1314        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1315        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1316        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1317        things moved from "examples" to one of these directories,
1318        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1319        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1320        "ide-1.0" branch for details.
1321
13222007-06-15 19:10  gb
1323
1324        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1325
13262007-06-15 14:10  gb
1327
1328        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1329        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1330        (shouldn't get here if we're catching that upstream, but ...)
1331
13322007-06-01 08:34  gb
1333
1334        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1335        caught most places.
1336
13372007-06-01 08:33  gb
1338
1339        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1340        if it can't find the package, accepts a stream argument in order to
1341        signal that type of error.  (Note that this has never been
1342        recoverable in general, especially in the case where the input
1343        stream is *terminal-io* or shares its input stream.)
1344
13452007-06-01 08:32  gb
1346
1347        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1348        reporting themselves.
1349
13502007-06-01 08:31  gb
1351
1352        * level-1/l1-error-system.lisp: Define and use
1353        STREAM-ERROR-CONTEXT.
1354
13552007-06-01 08:30  gb
1356
1357        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1358        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1359        probably have been caught earlier.
1360
13612007-06-01 08:29  gb
1362
1363        * level-1/l1-streams.lisp: Try to provide some context -
1364        "surrounding characters" - for reader/stream errors on character
1365        input streams.
1366
13672007-06-01 08:28  gb
1368
1369        * level-1/l1-unicode.lisp: Get number of args right in call to
1370        STRING-ENCODED-LENGTH-IN-BYTES from
1371        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1372
13732007-06-01 08:28  gb
1374
1375        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1376        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1377        order.  Both functions are usually open-coded (and the inlined
1378        versions seem to be OK), but the ObjC bridge funcalls these
1379        functions when getting/setting foreign slots of the appropriate
1380        type.
1381
13822007-06-01 08:27  gb
1383
1384        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1385        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1386        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1387
13882007-06-01 08:26  gb
1389
1390        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1391        all of it" case in %CSTR-POINTER; deal with all other cases in
1392        %CSTR-SEGMENT-POINTER.
1393
13942007-06-01 08:25  gb
1395
1396        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1397        under return address, exception callback frame (xcf) on stack.
1398       
1399        handle-udf-call: don't try to fix up the stack if we try to
1400        continue; let kernel deal with this after the callback.
1401
14022007-06-01 08:24  gb
1403
1404        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1405        return address on the top of the stack when this is entered
1406        (#-of-arguments traps).  Put it in the right place when building
1407        the frame.
1408       
1409        create_exception_callback_frame: look for tra on top of lisp stack,
1410        not in register (usually.)
1411       
1412        handle_error(): if we return after calling out for int #xc7 (call
1413        to undefined function), fix up the stack and other registers so
1414        that we can return the value(s) returned by the lisp-side handler.
1415        (It's hard for the lisp-side handler to do the stack manipulation,
1416        because of the xcf on the stack and because of the need to deal
1417        with the return address on the stack.)
1418
14192007-06-01 08:23  gb
1420
1421        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1422        lea/jmp: push ra0 on stack before trap, for the benefit of
1423        create_exception_callback_frame().
1424
14252007-06-01 08:22  gb
1426
1427        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1428
14292007-06-01 08:22  gb
1430
1431        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1432        write a BOM here.
1433
14342007-06-01 08:21  gb
1435
1436        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1437        since the switch to the new tra scheme.
1438
14392007-06-01 08:19  gb
1440
1441        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1442        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1443
14442007-05-12 18:27  gb
1445
1446        * release-notes.txt: Update for 070512.
1447
14482007-05-12 18:27  gb
1449
1450        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1451
14522007-05-12 18:26  gb
1453
1454        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1455
14562007-05-12 18:25  gb
1457
1458        * level-1/version.lisp: Bump.
1459
14602007-05-12 18:24  gb
1461
1462        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1463        heap by more than what we need if GC is obviously disabled.
1464
14652007-05-12 18:23  gb
1466
1467        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1468        suppress overflow checking in some cases.
1469
14702007-05-12 18:22  gb
1471
1472        * compiler/X86/x862.lisp: Fix indentation.
1473
14742007-05-12 18:22  gb
1475
1476        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1477        beyond segment if GC (obviously) disabled.
1478
14792007-05-12 18:21  gb
1480
1481        * level-1/l1-streams.lisp: Fix typo.
1482
14832007-05-12 18:20  gb
1484
1485        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1486        separate character encode/decode limits.
1487
14882007-05-12 18:19  gb
1489
1490        * level-1/l1-unicode.lisp: Start to bootstrap separate
1491        encode/decode limits.
1492
14932007-05-12 18:18  gb
1494
1495        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1496        nonsense when referencing mxcsr in debug_show_fpu().
1497
14982007-05-12 18:17  gb
1499
1500        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1501        earlier.  Sheesh.
1502
15032007-05-12 18:17  gb
1504
1505        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1506
15072007-05-12 18:16  gb
1508
1509        * level-1/version.lisp: Bump, for now.
1510
15112007-05-12 18:15  gb
1512
1513        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1514        ABI version.
1515
15162007-05-12 18:14  gb
1517
1518        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1519        new TRA interpretation.
1520
15212007-05-12 18:13  gb
1522
1523        * lisp-kernel/x86-spjump64.s: nmkunwind.
1524
15252007-05-12 18:12  gb
1526
1527        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1528        nMake_Catch handles return addresses on stack.  repret, for use
1529        when a one-byte ret instruction is a branch target or is preceded
1530        by a conditional branch.
1531
15322007-05-12 18:11  gb
1533
1534        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1535        exception contexts.
1536
15372007-05-12 18:11  gb
1538
1539        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1540        exception context; new TRA handling.
1541
15422007-05-12 18:10  gb
1543
1544        * lisp-kernel/x86-exceptions.c: New tra handling.
1545        new_heap_segment: try to avoid requesting too much when user sets
1546        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1547        down to fault handler, don't call out to lisp on faults in foreign
1548        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1549
15502007-05-12 18:08  gb
1551
1552        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1553        assignments.
1554
15552007-05-12 18:07  gb
1556
1557        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1558        sequence.
1559
15602007-05-12 18:06  gb
1561
1562        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1563
15642007-05-12 18:05  gb
1565
1566        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1567        that're branch targets or that follow conditional branches.
1568
15692007-05-12 18:04  gb
1570
1571        * lisp-kernel/thread_manager.c: Conditionalize for
1572        USE_MACH_EXCEPTION_LOCK.
1573
15742007-05-12 18:03  gb
1575
1576        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1577
15782007-05-12 18:02  gb
1579
1580        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1581        explicit blr.
1582
15832007-05-12 18:01  gb
1584
1585        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1586         Gee, I hope that works.
1587
15882007-05-12 18:00  gb
1589
1590        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1591
15922007-05-12 17:59  gb
1593
1594        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1595        using the mechanism.
1596
15972007-05-12 17:59  gb
1598
1599        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1600        extend with (possibly very large) lisp_heap_gc_threshold, try
1601        smaller values.
1602       
1603        Pass "old_valence" to exception handlers; don't call out to lisp on
1604        memory faults from foreign code.
1605
16062007-05-12 17:58  gb
1607
1608        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1609
16102007-05-12 17:57  gb
1611
1612        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1613        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1614        be correct/necessary.
1615
16162007-05-12 17:56  gb
1617
1618        * lisp-kernel/lisp-debug.c: lisp register display changes for
1619        x86-64.  Get FPU display working on x86-64.
1620
16212007-05-12 17:55  gb
1622
1623        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1624        calling-sequence change.
1625
16262007-05-12 17:54  gb
1627
1628        * lisp-kernel/image.h: New ABI version.
1629
16302007-05-12 17:54  gb
1631
1632        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1633        could; if only I could ...
1634
16352007-05-12 17:53  gb
1636
1637        * lib/x8664env.lisp: More imm temps! (one more ...).
1638
16392007-05-12 17:52  gb
1640
1641        * lib/nfcomp.lisp: Bump current fasl version.
1642
16432007-05-12 17:51  gb
1644
1645        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1646        in cross-compiled code.
1647
16482007-05-12 17:50  gb
1649
1650        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1651        interface dir, because of cross-compilation issues.
1652
16532007-05-12 17:49  gb
1654
1655        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1656        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1657
16582007-05-12 17:49  gb
1659
1660        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1661        transition.
1662
16632007-05-12 17:48  gb
1664
1665        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1666
16672007-05-12 17:47  gb
1668
1669        * lib/encapsulate.lisp: Add a comment.
1670
16712007-05-12 17:46  gb
1672
1673        * library/hash-cons.lisp: Very small lap change.
1674
16752007-05-12 17:45  gb
1676
1677        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1678        %FIXNUM-SET-MACPTR elsewhere.
1679
16802007-05-12 17:44  gb
1681
1682        * level-1/linux-files.lisp: File-mapped vectors.
1683
16842007-05-12 17:43  gb
1685
1686        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1687        :new-version if pathname-version of filename is :NEWEST.
1688
16892007-05-12 17:43  gb
1690
1691        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1692        with a CONDITION object.
1693
16942007-05-12 17:42  gb
1695
1696        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1697
16982007-05-12 17:41  gb
1699
1700        * level-1/l1-pathnames.lisp: If there's no host component in a
1701        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1702
17032007-05-12 17:40  gb
1704
1705        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1706        listener stack sizes now static.
1707
17082007-05-12 17:39  gb
1709
1710        * level-1/l1-files.lisp: Pathname arcana.
1711
17122007-05-12 17:38  gb
1713
1714        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1715        SIGINT.
1716
17172007-05-12 17:38  gb
1718
1719        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1720        changes.
1721
17222007-05-12 17:37  gb
1723
1724        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1725       
1726        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1727
17282007-05-12 17:36  gb
1729
1730        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1731
17322007-05-12 17:35  gb
1733
1734        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1735        here.
1736
17372007-05-12 17:34  gb
1738
1739        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1740
17412007-05-12 17:33  gb
1742
1743        * level-0/X86/x86-utils.lisp: New calling sequence.
1744
17452007-05-12 17:32  gb
1746
1747        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1748        EQL.
1749
17502007-05-12 17:32  gb
1751
1752        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1753        be careful with %rcx (now %imm2) in shift instructions.
1754
17552007-05-12 17:30  gb
1756
1757        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1758        sequence.
1759
17602007-05-12 17:29  gb
1761
1762        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1763        new-calling-sequence changes.
1764
17652007-05-12 17:27  gb
1766
1767        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1768        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1769        %temp2, and no need to be so careful with it.
1770
17712007-05-12 17:26  gb
1772
1773        * compiler/vinsn.lisp: global label-valued temporaries.
1774
17752007-05-12 17:25  gb
1776
1777        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1778
17792007-05-12 17:24  gb
1780
1781        * compiler/nx0.lisp: Try to do a little type inference for more
1782        flavors of AREF.
1783
17842007-05-12 17:23  gb
1785
1786        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1787        afunc (or equivalent) as a non-nil second value.
1788
17892007-05-12 17:22  gb
1790
1791        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1792        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1793        less nasty.
1794
17952007-05-12 17:21  gb
1796
1797        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1798        calling sequence, new tra/talign scheme.
1799
18002007-05-12 17:21  gb
1801
1802        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1803        rip)).
1804
18052007-05-12 17:20  gb
1806
1807        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1808        rip-relative label refs.
1809
18102007-05-12 17:19  gb
1811
1812        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1813        support :talign directive in vinsn templates.
1814
18152007-05-12 17:18  gb
1816
1817        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1818        is a register ...
1819
18202007-05-12 17:17  gb
1821
1822        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1823        for most things, except calls to subprims that manipulate the
1824        stack.
1825
18262007-05-12 17:16  gb
1827
1828        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1829        cross-compilation with x86-64 targets a little easier, by using a
1830        cross-ftd interface directory.
1831
18322007-05-12 17:16  gb
1833
1834        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1835        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1836        scheme.
1837
18382007-05-12 17:15  gb
1839
1840        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1841        unwind-protect uses nmkunwind (more happens out-of-line.)
1842
18432007-05-12 17:14  gb
1844
1845        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1846
18472007-05-12 17:13  gb
1848
1849        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1850
18512007-05-12 17:12  gb
1852
1853        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1854
18552007-05-12 17:11  gb
1856
1857        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1858        %GET-KERNEL-GLOBAL-PTR actually work.
1859
18602007-05-07 19:10  gb
1861
1862        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1863        returns a CONS, signal the right flavor of TYPE-ERROR if it
1864        doesn't.
1865
18662007-05-05 18:10  gb
1867
1868        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1869        the hash table, it tries to enable the GC before doing so.
1870
18712007-05-04 22:10  gb
1872
1873        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1874        finds in the environment, not just non-nil.
1875
18762007-05-01 18:10  gb
1877
1878        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1879        computation for GC-VERBOSE entry.
1880
18812007-05-01 06:11  gb
1882
1883        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1884        utf-16 variants.
1885       
1886        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1887        function.
1888
18892007-05-01 06:10  gb
1890
1891        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1892        darwin ppc64 thread state structure, just like Apple does.  Can I
1893        blame them for getting this wrong, please ?
1894       
1895        Use the right argument names in ppc64 cmain callback; can't blame
1896        Apple.
1897
18982007-04-30 23:12  gb
1899
1900        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1901        on Darwin, and should probably be removed completely.  Now that
1902        it's explicitly extern, don't try to reference it at runtime on
1903        linuxppc.
1904
19052007-04-30 23:11  gb
1906
1907        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1908        referenced at runtime and explicitly extern, so make sure that it's
1909        initialized on all platforms.
1910
19112007-04-30 23:10  gb
1912
1913        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1914        oxymoron - is specific to Darwin.
1915
19162007-04-21 00:10  gb
1917
1918        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1919        directory after translating logical pathnames; it's generally
1920        meaningless to do PROBE-FILE on the directory component of a
1921        logical pathname.
1922
19232007-04-19 15:10  gb
1924
1925        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1926        if it conflicts with an immediate temporary (we'll need all the imm
1927        temps we have on x86-64.)
1928
19292007-04-17 20:10  gb
1930
1931        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1932        version of recent aset2/aset3 register-conflict changes.
1933
19342007-04-16 15:10  gb
1935
1936        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1937        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1938
19392007-04-16 14:11  gb
1940
1941        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1942        :signed-doublewod.
1943
19442007-04-16 13:10  gb
1945
1946        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1947        Memory-fault errors on PPC, too.
1948
19492007-04-16 04:34  gb
1950
1951        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1952        renaming nonsense.
1953
19542007-04-16 02:12  gb
1955
1956        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1957
19582007-04-16 02:11  gb
1959
1960        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1961
19622007-04-16 02:10  gb
1963
1964        * level-1/l1-error-system.lisp: Change wording of
1965        INVALID-MEMORY-ACCESS error message, a little.
1966
19672007-04-16 01:13  gb
1968
1969        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1970        memory faults.
1971
19722007-04-16 01:12  gb
1973
1974        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1975        now.
1976
19772007-04-16 01:11  gb
1978
1979        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1980        INVALID-MEMORY-ACCESS condition.
1981
19822007-04-16 01:10  gb
1983
1984        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1985
19862007-04-15 19:11  gb
1987
1988        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1989        aset2/aset3 changes.
1990
19912007-04-15 19:10  gb
1992
1993        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1994        it's an imm-reg; we need another imm-reg to do some index
1995        calculations.
1996
19972007-04-14 18:10  gb
1998
1999        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2000        unscramble what it means for an interrupt to be pending on x86-64.
2001
20022007-04-14 00:13  gb
2003
2004        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2005        generated when it is in ... unmentionable OS releases.
2006
20072007-04-14 00:11  gb
2008
2009        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2010        work around laughable Apple ld64 gibberish.
2011
20122007-04-12 02:11  gb
2013
2014        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2015        two-dimensional arrays: need to target specific registers if array
2016        has element type T.
2017
20182007-04-12 02:10  gb
2019
2020        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2021        appropriate, not :x86-64 twice.
2022
20232007-04-11 05:10  gb
2024
2025        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2026        for bivalent streams.
2027       
2028        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2029        maintain the element-type separately, just look in ioblock.
2030        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2031
20322007-04-10 22:10  gb
2033
2034        * lisp-kernel/x86-spentry64.s: Branch at
2035        C(egc_store_node_conditional_success_test) should bracnch
2036        backwards, not forwards.  (This was leading to spurious
2037        "<something> is not a proper list" errors, because the next label
2038        named "0" is in middle of the the _SPprogvsage code that tests for
2039        a proper list.)
2040
20412007-04-10 00:11  gb
2042
2043        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2044        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2045        RLET or equivalent to avoid making GCable pointers for ObjC
2046        dispatch function args; trust the compiler to do that for us.
2047
20482007-04-10 00:10  gb
2049
2050        * examples/bridge.lisp: If any method defined on a message passes a
2051        structure by value, install a compiler macro on the dispatch
2052        function.
2053       
2054        In that compiler, look for apparent calls to know structure
2055        constructors; replace those with calls to the corresponding
2056        initialization function, and stack-allocate a structure instance
2057        around the call.  (Suggested by Kevin Reid, and something that
2058        SEND/SLET did - sort of - that the new approach didn't.)
2059       
2060        Keep track of info about common foreign structs (initializer,
2061        constructor, etc.) to make doing stuff like this easier.
2062
20632007-04-09 16:10  gb
2064
2065        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2066        the result of sending the init message is a null pointer, return a
2067        null pointer.
2068
20692007-04-09 00:10  gb
2070
2071        * release-notes.txt: Update for 070408.
2072       
2073        (Yes, it's 070409 here already ...)
2074
20752007-04-08 15:12  gb
2076
2077        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2078
20792007-04-08 15:10  gb
2080
2081        * xdump/faslenv.lisp: Bump min fasl version.
2082
20832007-04-08 14:11  gb
2084
2085        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2086        jump table, to work around (still more) Apple ld64 nonsense.
2087
20882007-04-08 13:14  gb
2089
2090        * lib/nfcomp.lisp: Bump current fasl version.
2091
20922007-04-08 13:13  gb
2093
2094        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2095
20962007-04-08 13:12  gb
2097
2098        * xdump/faslenv.lisp: Bump max fasl version.
2099
21002007-04-08 13:11  gb
2101
2102        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2103        people who try to build this kernel on an x86 mac will take longer
2104        to realize that that's usually a bad idea.
2105
21062007-04-08 12:09  gb
2107
2108        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2109        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2110        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2111        cocoa-window.lisp, cocoa.lisp:
2112        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2113       
2114        Some changes in font, nsstring stuff to avoid using deprecated
2115        featurs.
2116
21172007-04-08 12:07  gb
2118
2119        * examples/: webkit.lisp, addressbook.lisp:
2120        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2121       
2122        Use OBJC:LOAD-FRAMEWORK.
2123
21242007-04-08 12:06  gb
2125
2126        * examples/tiny.lisp:
2127        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2128
21292007-04-08 12:05  gb
2130
2131        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2132        rubix.lisp:
2133        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2134       
2135        Handle CGFLOAT issues in mouse event handlers.
2136
21372007-04-08 12:04  gb
2138
2139        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2140       
2141        Define "foreign struct classes" for several common structure types
2142        (rectangle, point, size); generate inlined accessors for their
2143        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2144        macros.
2145       
2146        #/ reader macro: reads a string containing "constituent" characters
2147        (including #\:), preserving case.  Does a little bit of
2148        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2149        package.
2150       
2151        Try to deal with cases where foreign type info may be parsed or
2152        unparsed.
2153       
2154        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2155         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2156        message info, tries to determine ambiguity, calls signature
2157        function (possibly after trying to resolve ambiguity.)
2158       
2159        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2160        calling a signature function that knows how to dispatch to SUPER
2161        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2162       
2163        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2164        OBJC-DISPATCH-FUNCTION.
2165       
2166        Handle PROTOCOLs differently in ambiguous SEND.
2167
21682007-04-08 12:04  gb
2169
2170        * examples/objc-runtime.lisp: Compile message send functions per
2171        signature.  Handle vararg message sends, partly at runtime.  INIT
2172        messages just have their signature info precomputed.  Defining a
2173        named OBJC-CLASS makes the class name a static variable whose value
2174        is the class (and likewise for the metaclass.)
2175        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2176        OBJC:DEFMETHOD and support for it.
2177
21782007-04-08 12:03  gb
2179
2180        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2181         Avoid some deprecated C-string stuff (but wimp out and assume
2182        ASCII.) Keep track of objc-class-count, provide
2183        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2184        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2185        etc. elsewhere.
2186
21872007-04-08 12:02  gb
2188
2189        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2190        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2191        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2192        about as lightweight as MAKE-OBJC-INSTANCE.)
2193
21942007-04-08 12:01  gb
2195
2196        * examples/name-translation.lisp:
2197        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2198        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2199
22002007-04-08 12:00  gb
2201
2202        * examples/objc-package.lisp: New file; export more stuff.  Import
2203        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2204        pseudo-GFs.
2205
22062007-04-08 11:59  gb
2207
2208        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2209        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2210        Intern integer types up to 64 bits.
2211
22122007-04-08 11:59  gb
2213
2214        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2215        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2216        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2217        COPY-RECORD.
2218
22192007-04-08 11:58  gb
2220
2221        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2222        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2223        missing brackets.
2224
22252007-04-08 11:57  gb
2226
2227        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2228        not Darwin.  In Darwin, evactuate off of the lisp stack while
2229        interrupts are still disabled.
2230
22312007-04-08 11:56  gb
2232
2233        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2234        (where Apple hasn't yet invented the notion that it needs to be
2235        thread-specific.)
2236
22372007-04-08 11:55  gb
2238
2239        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2240        destroying TCR.
2241
22422007-04-08 11:54  gb
2243
2244        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2245        worked around an old Darwin bug.
2246
22472007-04-08 11:53  gb
2248
2249        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2250
22512007-04-08 11:52  gb
2252
2253        * lisp-kernel/image.c: Don't nuke null pointers.
2254
22552007-04-08 11:52  gb
2256
2257        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2258
22592007-04-08 11:51  gb
2260
2261        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2262        of macptr.domain, macptr.type.
2263
22642007-04-08 11:50  gb
2265
2266        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2267
22682007-04-08 11:49  gb
2269
2270        * library/lispequ.lisp: add pkg.intern-hook to package.
2271
22722007-04-08 11:48  gb
2273
2274        * lib/describe.lisp: Start trying to conditionalize some of the
2275        stack-frame inspector stuff.
2276
22772007-04-08 11:48  gb
2278
2279        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2280        64-bit word components, with FP fields passed in registers.  This
2281        requires some special handling ("hybrid" parameters) in the
2282        compiler and %FF-CALL.
2283
22842007-04-08 11:47  gb
2285
2286        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2287        endianness.
2288
22892007-04-08 11:46  gb
2290
2291        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2292
22932007-04-08 11:45  gb
2294
2295        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2296        in %SOURCE-FILES-LIKE-EM.
2297
22982007-04-08 11:44  gb
2299
2300        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2301
23022007-04-08 11:43  gb
2303
2304        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2305        MAKE-XREF-ENTRY.
2306
23072007-04-08 11:43  gb
2308
2309        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2310
23112007-04-08 11:42  gb
2312
2313        * level-1/version.lisp: Bump; new snapshots tomorrow.
2314
23152007-04-08 11:41  gb
2316
2317        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2318
23192007-04-08 11:40  gb
2320
2321        * level-1/linux-files.lisp: Very long timeout for
2322        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2323        if we have to wait at all.
2324       
2325        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2326       
2327        Make PIPE code slightly easier to read.
2328
23292007-04-08 11:39  gb
2330
2331        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2332
23332007-04-08 11:38  gb
2334
2335        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2336        CHARACTER-ENCODING, use it to determine number/sequence of octets
2337        used to encode NUL.
2338
23392007-04-08 11:38  gb
2340
2341        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2342       
2343        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2344        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2345        so that echoing looks more natural.
2346
23472007-04-08 11:37  gb
2348
2349        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2350        object.
2351
23522007-04-08 11:36  gb
2353
2354        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2355        changes manually and most of the effects were cosmetic.
2356        TOPLEVEL-PRINT takes an output stream arg.
2357
23582007-04-08 11:35  gb
2359
2360        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2361
23622007-04-08 11:34  gb
2363
2364        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2365        interrupt is obviously pending.
2366
23672007-04-08 11:33  gb
2368
2369        * level-1/l1-io.lisp: Change pointer printing.
2370
23712007-04-08 11:33  gb
2372
2373        * level-1/l1-init.lisp: +NULL-PTR+.
2374
23752007-04-08 11:31  gb
2376
2377        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2378        preferred name for DEFGLOBAL.
2379
23802007-04-08 11:30  gb
2381
2382        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2383        for DEFGLOBAL.
2384       
2385        Mechanism for associating a (built-in) class with a foreign type
2386        ordinal.
2387
23882007-04-08 11:29  gb
2389
2390        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2391        for DEFGLOBAL.
2392       
2393        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2394        likely the global value of some symbol.)
2395
23962007-04-08 11:28  gb
2397
2398        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2399        DEFGLOBAL.
2400       
2401        Standard CL streams now bound per-thread.
2402       
2403        Install standard foreign types here, not every time that
2404        FOREIGN-TYPES is loaded.
2405       
2406        Canonicalize foreign type ordinals as soon as we can.  (This is
2407        part of a scheme to give foreign types "ordinals' that can be used
2408        to assert pointer types; we need some of those ordinal numbers to
2409        be pre-assigned, since we can't reference foreign types early in
2410        the cold load.)
2411
24122007-04-08 11:27  gb
2413
2414        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2415        DEFGLOBAL.  GCABLE-PTR-P.
2416
24172007-04-07 21:25  gb
2418
2419        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2420         Handle maintenance of auto-export packages differently.
2421        $fasl-timm just needs an :int, not a :long.
2422
24232007-04-07 21:24  gb
2424
2425        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2426        "functional", not random symbol guts.
2427
24282007-04-07 21:23  gb
2429
2430        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2431        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2432        interrupts are re-enabled.
2433
24342007-04-07 21:22  gb
2435
2436        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2437
24382007-04-07 21:20  gb
2439
2440        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2441        %PTR-STORE-FIXNUM-CONDITIONAL.
2442
24432007-04-07 21:19  gb
2444
2445        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2446        in DarwinPPC64 #'%FF-CALL.
2447
24482007-04-07 21:19  gb
2449
2450        * compiler/optimizers.lisp: When trying to infer result type of
2451        MAKE-ARRAY call, unquote quoted type specifier.
2452       
2453        Strength-reduce FLOAT when second argument is of known type.
2454
24552007-04-07 21:18  gb
2456
2457        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2458
24592007-04-07 21:17  gb
2460
2461        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2462        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2463        Parse %short-float, %double-float when no "result" arg; can at
2464        least try to constant-fold late and/or do some cases if we have
2465        more type info.
2466
24672007-04-07 21:16  gb
2468
2469        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2470        be bound" error message.
2471
24722007-04-07 21:15  gb
2473
2474        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2475        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2476
24772007-04-07 21:14  gb
2478
2479        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2480        remaning GPR/FPR counts even if arg is "simple" and passes straight
2481        through to %FF-CALL.
2482
24832007-04-07 21:13  gb
2484
2485        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2486        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2487        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2488        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2489        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2490
24912007-04-07 21:12  gb
2492
2493        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2494        for Darwin structure-passing ABI.
2495
24962007-04-07 21:10  gb
2497
2498        * OpenMCL.app/Contents/Resources/English.lproj/:
2499        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2500        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2501        OpenmclInspector.nib/keyedobjects.nib,
2502        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2503        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2504        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2505        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2506        representation, not binary.
2507
25082007-04-06 22:10  gb
2509
2510        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2511        (RLIMIT_AS) current resource limit to max limit, since some distros
2512        limit it.
2513
25142007-04-03 03:11  gb
2515
2516        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2517        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2518
25192007-04-02 22:10  gb
2520
2521        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2522        arg in utf-16 encode, missing #x in little-endian bom-marker
2523        definition.)
2524
25252007-03-14 23:10  gb
2526
2527        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2528
25292007-03-14 05:11  gb
2530
2531        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2532        generate-callback-bindings.
2533
25342007-03-13 06:10  gb
2535
2536        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2537
25382007-03-13 03:58  gb
2539
2540        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2541
25422007-03-12 05:11  gb
2543
2544        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2545        little.
2546
25472007-03-12 05:10  gb
2548
2549        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2550        %EXTERNAL-CALL-EXPANDER.
2551
25522007-03-12 05:09  gb
2553
2554        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2555        encapsulation, and a lock.
2556
25572007-03-12 05:08  gb
2558
2559        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2560        thread-local.
2561
25622007-03-12 02:25  gb
2563
2564        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2565        deal with variations in Mach behavior: "exception" may be
2566        EXC_BAD_ACCESS when an illegal instruction causes a "general
2567        protection fault".
2568
25692007-03-09 15:56  gb
2570
2571        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2572        NIL ...)
2573
25742007-03-09 00:01  gb
2575
2576        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2577
25782007-03-09 00:00  gb
2579
2580        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2581        *OPEN-FILE-STREAMS*.
2582
25832007-03-09 00:00  gb
2584
2585        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2586        open-file-streams.
2587
25882007-03-08 23:59  gb
2589
2590        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2591        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2592
25932007-03-08 23:58  gb
2594
2595        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2596        associated with it.
2597
25982007-03-08 23:57  gb
2599
2600        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2601
26022007-03-08 23:47  gb
2603
2604        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2605        hash-table, it fills the hash-table vector with "free" markers.
2606        (There may already be lots of "deleted" markers in the table.)
2607
26082007-03-08 22:26  gb
2609
2610        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2611
26122007-03-08 22:24  gb
2613
2614        * lib/numbers.lisp: printing random-state: don't shift seeds.
2615
26162007-03-08 22:24  gb
2617
2618        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2619
26202007-03-08 22:24  gb
2621
2622        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2623
26242007-03-08 22:23  gb
2625
2626        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2627
26282007-03-08 22:23  gb
2629
2630        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2631        %next-random-pair.
2632
26332007-03-08 22:22  gb
2634
2635        * level-0/l0-numbers.lisp: And, while we're at it: do the
2636        next-random-seed permutation in %next-random-pair, which accepts
2637        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2638        in lisp on 64-bit platforms.
2639
26402007-03-08 22:20  gb
2641
2642        * level-0/l0-numbers.lisp: Don't shift random seeds.
2643
26442007-03-08 03:30  gb
2645
2646        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2647        rather than >= #x80, because of the new way that
2648        uuo-error-slot-unbound is encoded.
2649
26502007-03-08 03:28  gb
2651
2652        * compiler/X86/x86-disassemble.lisp: Recognize
2653        uuo-error-slot-unbound.
2654
26552007-03-08 03:28  gb
2656
2657        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2658        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2659
26602007-03-07 08:29  gb
2661
2662        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2663
26642007-03-07 07:45  gb
2665
2666        * level-1/linux-files.lisp: For #+linux-target, try to use
2667        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2668        if that fails.  (CPU-COUNT is called early in the cold load, before
2669        we can make the file-stream necessary to do the parsing.)
2670
26712007-03-07 07:33  gb
2672
2673        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2674        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2675
26762007-03-07 07:25  gb
2677
2678        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2679        el-bizarro syscall mask, pass the magic number 0x1e as a second
2680        arg, just in case.
2681
26822007-03-07 07:24  gb
2683
2684        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2685        before accessing *OPEN-FILE-STREAMS*.
2686
26872007-03-07 07:23  gb
2688
2689        * level-1/l1-readloop.lisp: Add comment about
2690        *OPEN-FILE-STREAMS-LOCK*.
2691
26922007-03-07 07:23  gb
2693
2694        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2695
26962007-03-07 07:21  gb
2697
2698        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2699        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2700
27012007-03-07 07:05  gb
2702
2703        * xdump/heap-image.lisp: Bump current image version.
2704
27052007-03-07 07:02  gb
2706
2707        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2708        "calls" want an argument in ecx.  Set that arg to 0 for now.
2709
27102007-03-07 07:01  gb
2711
2712        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2713        "real" locks; those updates can be simplified.
2714       
2715        lock_recursive_lock: no (ignored) timeout arg.
2716
27172007-03-07 06:59  gb
2718
2719        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2720        support the old one.
2721
27222007-03-07 06:59  gb
2723
2724        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2725        prototype.  Change declaration of LOCK macro: no null timespec
2726        required.  RECURSIVE_LOCKs have spinlock fields.
2727
27282007-03-07 06:56  gb
2729
2730        * level-1/version.lisp: bump, indicate work-in-progress development
2731        version.
2732
27332007-03-07 06:56  gb
2734
2735        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2736        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2737        rather than something lower-level.
2738
27392007-03-07 06:53  gb
2740
2741        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2742        to obtain them before yielding.
2743
27442007-03-07 06:52  gb
2745
2746        * level-0/l0-io.lisp: Move YIELD elsewhere.
2747
27482007-03-07 06:51  gb
2749
2750        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2751        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2752        layout.
2753
27542007-03-02 05:10  gb
2755
2756        * level-1/l1-application.lisp: Toplevel function: initial-listener
2757        class is 'TTY-LISTENER.
2758
27592007-03-02 05:09  gb
2760
2761        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2762        message.
2763
27642007-03-02 05:09  gb
2765
2766        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2767       
2768        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2769        For TTY-LISTENER, call QUIT.
2770
27712007-03-02 05:08  gb
2772
2773        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2774        EXIT-INTERACTIVE-PROCESS instead.
2775       
2776        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2777
27782007-03-02 05:06  gb
2779
2780        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2781
27822007-03-02 05:06  gb
2783
2784        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2785        of null pointers into body.
2786
27872007-03-02 05:05  gb
2788
2789        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2790        consus-interruptus.
2791
27922007-03-02 05:05  gb
2793
2794        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2795        <constant> if constant is of type <type>.)
2796       
2797        Do we need an ignore-errors here ? Or does <type> need to be
2798        defined ?
2799
28002007-03-02 05:03  gb
2801
2802        * compiler/X86/x862.lisp: Do the / * thing.
2803
28042007-03-02 05:02  gb
2805
2806        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2807        :call attribute.
2808
28092007-03-01 04:04  gb
2810
2811        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2812        new binding frame
2813
28142007-02-28 07:04  gb
2815
2816        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2817        rather than %rbp; trust callback_for_interrupt() to preserve it.
2818
28192007-02-28 07:03  gb
2820
2821        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2822        callback_for_interrupt().
2823
28242007-02-28 05:18  gb
2825
2826        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2827        counts) that may wind up on the vstack.
2828       
2829        Since those tiny things might be tagged as headers, walk the vstack
2830        with new "headerless" functions that ignore headers.
2831
28322007-02-28 05:16  gb
2833
2834        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2835        before the alloc trap and interrupting, back out of the
2836        modification to save_allocptr (and allocptr register) and set
2837        *interrupt_displacement.
2838
28392007-02-23 10:13  gb
2840
2841        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2842        only makes sense for cases where we have to guess; a bitfield
2843        that's 8 bits wide still has an alignment of 1.
2844       
2845        Factor in the alignment of the containing int when bitfields are
2846        involved.
2847       
2848        When parsing a record type, set the "bits" slot of each field.
2849        (Not too many things look at that slot, but we want the effect of
2850        loading a record from the database to match the effect of parsing a
2851        definition as exactly as possible, and to be able to use EQUALP to
2852        compare the results.)
2853
28542007-02-23 10:06  gb
2855
2856        * lib/db-io.lisp: Some extra fields in
2857        objc-message-info/objc-method-info structures.
2858       
2859        When calculating overall alignment of a structure, treat bitfields
2860        as if they were :unsigned-int (since there's a "containing"
2861        unsigned int that affects alignment.  N.B: this should be imposed
2862        for anything that has an alignment of 1, not just a size of 1.)
2863       
2864        When loading integer types, try to use the precomputed types rather
2865        than consing a new one.  This (a) reduces consing a little (b) is
2866        more likely to get the alignment correct.  For (b), we really need
2867        to distinguish between bitfields and addressable integers.
2868
28692007-02-23 09:30  gb
2870
2871        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2872
28732007-02-22 02:33  gb
2874
2875        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2876
28772007-02-22 02:28  gb
2878
2879        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2880        heap size right ...).
2881
28822007-02-22 02:27  gb
2883
2884        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2885        traditional (sysv) style of hash maps, if it understands that
2886        option.
2887
28882007-02-21 06:01  gb
2889
2890        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2891        has been consed since last GC.  (There are some fenceposts there.)
2892       
2893        verbose GC herald tries to indicate how much is allocated in the
2894        area being GCed.
2895
28962007-02-21 05:58  gb
2897
2898        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2899        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2900
29012007-02-21 05:57  gb
2902
2903        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2904        uuo-gc-trap.
2905
29062007-02-19 04:50  gb
2907
2908        * lib/foreign-types.lisp: Use keywords more consistently.
2909       
2910        (Note: there seems to be a bug which is keeping the cdb data
2911        structures from getting defined correctly at load time; the
2912        workaround is to compile foreign-types.lisp - which defines them -
2913        in the same session as and before db-io - which uses them - is
2914        compiled.)
2915
29162007-02-19 04:48  gb
2917
2918        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2919        error.
2920
29212007-02-19 04:42  gb
2922
2923        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2924        the error function.
2925
29262007-02-19 04:40  gb
2927
2928        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2929        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2930
29312007-02-19 04:40  gb
2932
2933        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2934        FUNCALLABLE-STANDARD-OBJECT.
2935       
2936        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2937        creating a GF.
2938
29392007-02-19 04:36  gb
2940
2941        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2942        funcallable-stanard-objects better.
2943
29442007-02-19 04:34  gb
2945
2946        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2947        CCL, OPENMCL-MOP.
2948
29492007-02-19 02:09  gb
2950
2951        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2952        FUNCALLABLE-STANDARD-CLASS.
2953
29542007-02-19 02:07  gb
2955
2956        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2957        error message.
2958
29592007-02-15 02:46  gb
2960
2961        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2962        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2963
29642007-02-15 02:45  gb
2965
2966        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2967        methods yet.
2968
29692007-02-14 02:39  gb
2970
2971        * release-notes.txt: Fix a typo.
2972
29732007-02-14 02:35  gb
2974
2975        * release-notes.txt: Update for 070214 snapshots.
2976
29772007-02-13 23:36  gb
2978
2979        * level-1/version.lisp: Bump.
2980
29812007-02-13 23:36  gb
2982
2983        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2984        image-abi-version.
2985
29862007-02-13 23:29  gb
2987
2988        * xdump/faslenv.lisp: Finish bumping fasl version.
2989
29902007-02-13 23:15  gb
2991
2992        * lib/nfcomp.lisp: Bump current fasl version.
2993
29942007-02-13 23:02  gb
2995
2996        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2997
29982007-02-13 22:45  gb
2999
3000        * xdump/faslenv.lisp: Start bumping fasl-version.
3001
30022007-02-13 22:41  gb
3003
3004        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3005        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3006
30072007-02-13 21:16  gb
3008
3009        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3010        that contain incompatible definitions of some math library stuff
3011        ("log" either has to do with logarithms or logging ...).
3012
30132007-02-13 18:42  gb
3014
3015        * lib/misc.lisp: Change the way that TIME is reported by default:
3016        mention the number of available CPU cores, don't assume that
3017        there's that much of a relationship between CPU time and wall-clock
3018        time.
3019
30202007-02-13 18:41  gb
3021
3022        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3023        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3024        when :execute, too.
3025
30262007-02-13 18:35  gb
3027
3028        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3029        offset arg is required.
3030
30312007-02-13 18:12  gb
3032
3033        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3034        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3035
30362007-02-13 18:10  gb
3037
3038        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3039        cons.)
3040
30412007-02-13 18:10  gb
3042
3043        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3044        are more/other float-size issues deeper down in the code.
3045
30462007-02-13 18:09  gb
3047
3048        * examples/objc-support.lisp: Fixup the x86-64 error-return
3049        callback trampiline code (was missing a byte of machine code.)
3050
30512007-02-13 18:08  gb
3052
3053        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3054        jmp-buf to safe/sane values.
3055
30562007-02-13 18:07  gb
3057
3058        * examples/cocoa-window.lisp: Don't change-class
3059        *cocoa-event-process* until we start to run the event loop.
3060       
3061        Don't do _deallocHardCore: explicitly.
3062
30632007-02-13 17:35  gb
3064
3065        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3066        DOUBLE-FLOAT aliases just one gpr.
3067
30682007-02-13 17:34  gb
3069
3070        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3071
30722007-02-13 17:34  gb
3073
3074        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3075        32-bit ints, not "long".
3076
30772007-02-13 17:33  gb
3078
3079        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3080        for each scalar, not each arg.
3081       
3082        Fix some backquoting/indentation.
3083
30842007-02-13 17:31  gb
3085
3086        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3087
30882007-02-12 16:23  gb
3089
3090        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3091
30922007-02-11 20:22  gb
3093
3094        * examples/bridge.lisp: method-typestring needs to be
3095        conditionalized.  How has this been working ?
3096
30972007-02-11 20:22  gb
3098
3099        * examples/cocoa-editor.lisp: remove some debugging code.
3100
31012007-02-11 20:21  gb
3102
3103        * examples/objc-runtime.lisp: %mlist-containing is
3104        #-apple-objc-2.0.
3105
31062007-02-11 20:21  gb
3107
3108        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3109
31102007-02-11 05:35  gb
3111
3112        * level-1/version.lisp: Bump.
3113
31142007-02-11 05:28  gb
3115
3116        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3117        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3118        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3119        an optional argument; default to the Tiger SDK.
3120
31212007-02-11 05:26  gb
3122
3123        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3124        an errror.
3125
31262007-02-11 05:26  gb
3127
3128        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3129        Leopard renaming.  Suffer.
3130
31312007-02-11 05:25  gb
3132
3133        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3134        an existing process (so that the listener process appears to be
3135        "persistent".)
3136
31372007-02-11 05:24  gb
3138
3139        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3140        make the initial-listener object persistent acrosss
3141        SAVE-APPLICATION.
3142
31432007-02-11 00:01  gb
3144
3145        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3146       
3147        Handle callback-error-returns on x86-64.
3148
31492007-02-11 00:00  gb
3150
3151        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3152        use %ptr<, to hide word-size differences.
3153       
3154        __NSConstantStringClassReference isn't what it used to be, so look
3155        up NSConstantStringClass the hard way.
3156       
3157        Handle ns-exception/lisp-error stuff on x86-64.
3158       
3159        Do arg/result coercions differently.  Does any code depend on
3160        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3161        MACPTRs).
3162       
3163        Use the new FFI interface for message-sends, callbacks to try to
3164        hide platform-specific ABI issues.
3165       
3166        The _deallocate-hook mechanism - which never really worked -
3167        probably can't work on Objc-2.0.
3168
31692007-02-10 23:54  gb
3170
3171        * examples/bridge.lisp: Make structure return-type explicit in
3172        objc-message-send calls in send/stret and variants.
3173
31742007-02-10 22:34  gb
3175
3176        * examples/cocoa-window.lisp: Some indentation changes and slight
3177        reorganization of the code; shouldn't be any functional/semantic
3178        changes.
3179
31802007-02-10 22:30  gb
3181
3182        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3183        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3184        appropriate; other changes for 64-bit platforms, Objc-2.0.
3185
31862007-02-10 22:28  gb
3187
3188        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3189        CG-FLOATs when appropriate.
3190
31912007-02-10 22:28  gb
3192
3193        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3194
31952007-02-10 22:28  gb
3196
3197        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3198
31992007-02-10 22:27  gb
3200
3201        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3202        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3203        ignore-errors when trying to parse the last arglist form as a
3204        foreign type.
3205
32062007-02-10 22:26  gb
3207
3208        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3209        expansion ...
3210
32112007-02-10 22:26  gb
3212
3213        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3214        use %rdx and %r11 to hold target address.
3215
32162007-02-10 22:23  gb
3217
3218        * library/pty.lisp: Unicode stuff when accessing control char
3219        array; conditionalize for #+darwin-target, not just
3220        #+darwinppc-target.
3221
32222007-02-10 22:22  gb
3223
3224        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3225        ppc-specific; the comment dated from the days of 68K MCL.)
3226
32272007-02-10 22:21  gb
3228
3229        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3230        return 32 bits at a time, to avoid consing little bignums.
3231
32322007-02-10 22:15  gb
3233
3234        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3235
32362007-02-10 22:15  gb
3237
3238        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3239        count, not total byte count.
3240       
3241        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3242        the PPC case, as well.)
3243
32442007-02-10 22:11  gb
3245
3246        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3247        "zero-extend-s8" vinsn, but there does need to be a
3248        "zero-extend-u8".
3249
32502007-02-10 05:38  gb
3251
3252        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3253        #'VALUES.
3254
32552007-02-10 05:38  gb
3256
3257        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3258        ARGLIST can say -something- about lap functions that don't take a
3259        fixed number of arguments.
3260
32612007-02-07 02:54  gb
3262
3263        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3264        "e".
3265
32662007-02-02 02:32  gb
3267
3268        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3269        objc-support.lisp: Start to integrate with FFI changes.  No more
3270        %SEND, process and precompile "init" messages when interfaces are
3271        accessed.  (Note: should try to handle varargs init messages, even
3272        if we have to call %FF-CALL at runtime.)
3273
32742007-02-02 02:31  gb
3275
3276        * examples/: addressbook.lisp, webkit.lisp: Change the
3277        initialization code a bit.
3278
32792007-02-02 02:27  gb
3280
3281        * lib/foreign-types.lisp: Try to fix another case involving
3282        "auxiliary types".
3283       
3284        I think that the concept of auxiliary types might make sense in a
3285        context like:
3286       
3287        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3288        (:struct :bar (:x :int) (:y :int)))))
3289       
3290        In that case, :struct :bar is local to the definition.  In the
3291        similar case:
3292       
3293        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3294        (:struct :bar))))
3295       
3296        :BAR is presumably defined (globally) elsewhere.
3297
32982007-02-02 02:17  gb
3299
3300        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3301         (Setting "SDK=" will hopefully work with older version of xcode.)
3302
33032007-02-02 02:15  gb
3304
3305        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3306
33072007-01-31 23:26  gb
3308
3309        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3310        argument in ppc2-poweropen-foreign-args.
3311
33122007-01-31 22:47  gb
3313
3314        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3315        components from registers.
3316
33172007-01-31 22:45  gb
3318
3319        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3320        brackets are returned verbatim, not downcased.
3321
33222007-01-31 22:44  gb
3323
3324        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3325        accepts :registers.
3326
33272007-01-31 16:36  gb
3328
3329        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3330        New (and, so far, useless) files.
3331
33322007-01-31 16:35  gb
3333
3334        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3335        seems to be 32-bit only.
3336
33372007-01-31 16:34  gb
3338
3339        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3340
33412007-01-31 16:34  gb
3342
3343        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3344
33452007-01-31 16:33  gb
3346
3347        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3348        missing cdb file: dog bytes man; missing parent directory is more
3349        newsworthy.
3350
33512007-01-31 15:38  gb
3352
3353        * library/chud-metering.lisp: Tweak a little, so that it might work
3354        on darwinppc64 (and on darwinx8664 when purify does something
3355        there.)
3356
33572007-01-31 15:06  gb
3358
3359        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3360
33612007-01-31 02:49  gb
3362
3363        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3364
33652007-01-30 22:53  gb
3366
3367        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3368        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3369        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3370        gl/.cvsignore: new files.
3371
33722007-01-30 22:21  gb
3373
3374        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3375        new files.
3376
33772007-01-30 21:58  gb
3378
3379        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3380
33812007-01-30 21:58  gb
3382
3383        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3384        file
3385
33862007-01-30 21:49  gb
3387
3388        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3389        fun!
3390
33912007-01-30 21:40  gb
3392
3393        * library/openmcl-gtk-support.lisp: Conditionalize out the
3394        event-polling task.
3395
33962007-01-30 21:36  gb
3397
3398        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3399        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3400        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3401
34022007-01-30 21:35  gb
3403
3404        * headers/gl/C/populate.sh: process glu.h
3405
34062007-01-30 17:47  gb
3407
3408        * library/parse-ffi.lisp: Always encode explicit structure-typed
3409        function return values.
3410       
3411        Note when we see one, for now.
3412
34132007-01-30 17:45  gb
3414
3415        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3416        leading argument to be paired with a structure-typed return-type.
3417
34182007-01-30 17:43  gb
3419
3420        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3421        the first-arg hack.
3422
34232007-01-30 17:42  gb
3424
3425        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3426        support the old version.
3427       
3428        Don't check the :struct-by-value flag when encoding function
3429        args/results.  (That decision's made above our pay grade now.)
3430       
3431        When reading a :struct/:union definition, try to update an existing
3432        defintion rather than consing up a new one (this matters if the
3433        record is anonymous.)
3434
34352007-01-30 17:39  gb
3436
3437        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3438        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3439        correctly.
3440       
3441        Fix c_socket for #+linuxppc.
3442
34432007-01-30 08:20  gb
3444
3445        * level-1/version.lisp: Bump.
3446
34472007-01-30 08:20  gb
3448
3449        * lib/compile-ccl.lisp: Use make -j to build kernel.
3450
34512007-01-30 07:02  gb
3452
3453        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3454        xmm0/xmm1.
3455
34562007-01-30 07:01  gb
3457
3458        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3459        day's work turned into 2 weeks, somehow.)
3460
34612007-01-30 07:00  gb
3462
3463        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3464        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3465        stuff for x8664 (all platfroms appear to use the same ABI.)
3466
34672007-01-30 03:26  gb
3468
3469        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3470        displacement in %ATOMIC-INCF-NODE.
3471
34722007-01-29 07:27  gb
3473
3474        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3475
34762007-01-29 07:27  gb
3477
3478        * lib/ffi-darwinppc64.lisp: new callback stuff.
3479
34802007-01-29 07:27  gb
3481
3482        * lib/ffi-darwinppc32.lisp: typos-r-us.
3483
34842007-01-29 04:37  gb
3485
3486        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3487
34882007-01-29 04:37  gb
3489
3490        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3491
34922007-01-29 04:36  gb
3493
3494        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3495
34962007-01-29 04:36  gb
3497
3498        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3499
35002007-01-29 04:36  gb
3501
3502        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3503        stuff here.
3504
35052007-01-29 02:33  gb
3506
3507        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3508
35092007-01-28 21:47  gb
3510
3511        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3512        a bit more, change the API, get things working ... still a moving
3513        target.
3514
35152007-01-28 21:46  gb
3516
3517        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3518        (Other platforms still need more bootstrapping.)
3519
35202007-01-28 21:44  gb
3521
3522        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3523        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3524
35252007-01-28 03:21  gb
3526
3527        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3528        dynamic-extent, other decls separately.
3529
35302007-01-28 03:20  gb
3531
3532        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3533        use the new (ftd-based) scheme.
3534
35352007-01-28 01:43  gb
3536
3537        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3538        code's getting replaced, but fix 'em anyway.)
3539
35402007-01-28 01:42  gb
3541
3542        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3543        translated pathname and mention the fact that this might indicate a
3544        problem with "ccl:"'s logical translations.
3545
35462007-01-25 04:37  gb
3547
3548        * lib/foreign-types.lisp: Never fully understood the concept
3549        "auxiliary" foreign types, but try to canonicalize intermediate
3550        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3551        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3552        likely to return T (e.g., something registered in the FTD.
3553       
3554        It seems clear that this is the right thing when the structure
3555        reference is in global scope; I'm not sure what it'd mean for that
3556        not to be the case.
3557
35582007-01-25 04:32  gb
3559
3560        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3561        callback.
3562
35632007-01-24 23:41  gb
3564
3565        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3566        may not even compile.
3567
35682007-01-24 02:39  gb
3569
3570        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3571        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3572        for new FTD functions.
3573
35742007-01-24 02:28  gb
3575
3576        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3577        defstruct.
3578
35792007-01-23 15:28  gb
3580
3581        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3582        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3583        Return FPRs in the same place.  (Will need to re-work all of this
3584        for platform-dependent structure stuff.)
3585
35862007-01-23 15:26  gb
3587
3588        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3589        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3590        the lisp side.)
3591
35922007-01-23 15:21  gb
3593
3594        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3595        c_reg_save for saved fp args (f1-f13).
3596
35972007-01-23 15:14  gb
3598
3599        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3600        ftd hook.
3601
36022007-01-23 07:19  gb
3603
3604        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3605        (CLASS-OF non-simple-string).
3606
36072007-01-23 07:02  gb
3608
3609        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3610        array case, needed new string definition.
3611
36122007-01-23 07:01  gb
3613
3614        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3615        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3616        compiler/X86/X8664/x8664-backend.
3617
36182007-01-23 06:59  gb
3619
3620        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3621        stuff here.
3622
36232007-01-21 08:32  gb
3624
3625        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3626        "-returning-").
3627       
3628        Typecheck the :registers arg.
3629
36302007-01-21 08:32  gb
3631
3632        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3633
36342007-01-21 08:31  gb
3635
3636        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3637        stack-block.
3638
36392007-01-21 08:31  gb
3640
3641        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3642        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3643        instead.
3644
36452007-01-21 06:46  gb
3646
3647        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3648        space for 13 float registers, not 31.
3649
36502007-01-21 06:45  gb
3651
3652        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3653        x86-64.
3654
36552007-01-21 06:38  gb
3656
3657        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3658        register return without typos.
3659
36602007-01-21 06:15  gb
3661
3662        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3663        register return.
3664
36652007-01-21 06:14  gb
3666
3667        * compiler/nx1.lisp: Don't assume that passing a structure by value
3668        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3669        platform that doesn't support the convention.)
3670
36712007-01-21 06:12  gb
3672
3673        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3674        replaces .SPunused-4.
3675
36762007-01-21 06:10  gb
3677
3678        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3679        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3680        (replaces .SPunused_4).
3681
36822007-01-21 00:05  gb
3683
3684        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3685        argument/result coercion functions in os::expand-ff-call.
3686
36872007-01-20 23:53  gb
3688
3689        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3690        results when expanding an ff-call.
3691
36922007-01-20 23:52  gb
3693
3694        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3695        foreign args, results.
3696
36972007-01-20 22:31  gb
3698
3699        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3700        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3701        are to each other.  I'd guess that they're pretty close, and that
3702        x86-64 Darwin is random.)
3703
37042007-01-20 21:55  gb
3705
3706        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3707
37082007-01-20 19:34  gb
3709
3710        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3711
37122007-01-20 19:25  gb
3713
3714        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3715        right os::ff-call-expander.
3716
37172007-01-20 19:24  gb
3718
3719        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3720
37212007-01-20 19:24  gb
3722
3723        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3724        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3725        OS.
3726
37272007-01-20 19:23  gb
3728
3729        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3730        probably several more.
3731
37322007-01-20 19:22  gb
3733
3734        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3735
37362007-01-20 19:21  gb
3737
3738        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3739        extended to handle coercions at the Cocoa level, and probably needs
3740        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3741        installed by #_).
3742
37432007-01-20 19:18  gb
3744
3745        * lib/db-io.lisp: Encode, decode union types in arglists.
3746
37472007-01-20 19:17  gb
3748
3749        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3750        os::expand-ff-call.
3751       
3752        Canonicalize the :void type a bit better.
3753
37542007-01-20 19:16  gb
3755
3756        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3757
37582007-01-18 23:15  gb
3759
3760        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3761
37622007-01-18 23:15  gb
3763
3764        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3765
37662007-01-18 23:15  gb
3767
3768        * lib/systems.lisp: Add the new ffi-backend sources.
3769
37702007-01-18 23:14  gb
3771
3772        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3773        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3774        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3775        files.
3776
37772007-01-18 04:35  gb
3778
3779        * level-1/version.lisp: Bump.
3780
37812007-01-18 04:17  gb
3782
3783        * examples/bridge.lisp: Some word-size conditionalization.  Will
3784        need more work to handle struct return/asssignment correctly on all
3785        platforms.
3786
37872007-01-18 04:15  gb
3788
3789        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3790        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3791
37922007-01-18 04:13  gb
3793
3794        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3795        type casts, etc.
3796
37972007-01-18 04:12  gb
3798
3799        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3800        deprecated NSFont stuff.
3801
38022007-01-18 04:11  gb
3803
3804        * examples/objc-clos.lisp: Handle ivars, class
3805        creation/initialization differently for ObjC 2.0.
3806
38072007-01-18 04:10  gb
3808
3809        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3810
38112007-01-18 04:09  gb
3812
3813        * examples/objc-support.lisp: Note which protocols are actually
3814        used when walking classes.  (There doesn't seem to be a good way of
3815        finding a Protocol object pre-objc-2.0, and we may need to test
3816        protocol compliance to disambiguate message sends in some cases.)
3817
38182007-01-18 04:07  gb
3819
3820        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3821        necessarily darwinppc).
3822
38232007-01-18 04:06  gb
3824
3825        * examples/addressbook.lisp: Conditionalize for darwin (not
3826        necessarily darwinppc).  May want to conditionalize for bundle
3827        executable name, as well.
3828
38292007-01-18 04:05  gb
3830
3831        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3832        to sketch out structure return code (structures are often
3833        "returned" by returning field values in registers pn DarwinPPC64.)
3834
38352007-01-18 04:04  gb
3836
3837        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3838        attributes for structure args/results.
3839
38402007-01-18 04:03  gb
3841
3842        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3843         (Will need this for other platforms, too.)
3844
38452007-01-18 04:01  gb
3846
3847        * lib/macros.lisp: Arch-specific macro interface for
3848        WITH-FFCALL-RESULTS.
3849
38502007-01-18 04:00  gb
3851
3852        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3853        return value.
3854
38552007-01-18 04:00  gb
3856
3857        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3858        .SPpoweropen_ffcall_return_registers.
3859
38602007-01-18 03:59  gb
3861
3862        * library/parse-ffi.lisp: At least optionally, make structure
3863        return explicit (expecting it to be handled by higher-level code.)
3864
38652007-01-18 03:58  gb
3866
3867        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3868        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3869
38702007-01-18 03:55  gb
3871
3872        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3873        may hold OS thread context.
3874
38752007-01-18 03:54  gb
3876
3877        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3878        in ftd.
3879
38802007-01-18 03:53  gb
3881
3882        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3883        macro.
3884
38852007-01-18 03:52  gb
3886
3887        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3888        all possible result regs.  (Maybe poweropen syscall, too.)
3889
38902007-01-18 03:51  gb
3891
3892        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3893        .SPpoweropen-ff-call-return-registers.
3894
38952007-01-18 03:50  gb
3896
3897        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3898        supported, backend will return all (potential) result registers in
3899        buffer at <exp>.
3900
39012007-01-16 02:01  gb
3902
3903        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3904        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3905        functions make less sense for character streams/strings than they
3906        used to.)
3907
39082007-01-16 01:39  gb
3909
3910        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3911        defaults to :BIVALENT
3912
39132007-01-16 01:37  gb
3914
3915        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3916
39172007-01-11 23:58  gb
3918
3919        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3920        into (* (/ constant1 constant2) exp).  Not very general, but makes
3921        some foreign address arithmetic better.
3922
39232007-01-11 23:56  gb
3924
3925        * lib/macros.lisp: Simple PAREF: (paref pointer
3926        foreign-pointer-or-array-type index) does simple arithmetic for
3927        you.
3928
39292007-01-11 23:54  gb
3930
3931        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3932
39332007-01-10 15:50  gb
3934
3935        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3936        double->heap vinsn.
3937
39382007-01-09 11:33  gb
3939
3940        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3941        cleanup and multiple values are being thrown, be sure to set
3942        tcr.xframe from the target catch frame.  This is necessary on
3943        general principles (GC safety), and especially necessary if the
3944        cleanup form does a non-local exit.
3945
39462007-01-08 22:12  gb
3947
3948        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3949        Revive some of the old GNUstep support; add partial ObjC 2.0
3950        support (for 64-bit targets only, so far.)
3951
39522007-01-08 22:11  gb
3953
3954        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3955        darwinppc-target.
3956
39572007-01-08 22:10  gb
3958
3959        * examples/cocoa-listener.lisp: Disable background layout in the
3960        listener; the whole two-thread scheme probably isn't viable, but
3961        doing this seems to suppress a timing-related symptom.
3962
39632007-01-08 22:09  gb
3964
3965        * examples/cocoa-editor.lisp: Document-begin-editing,
3966        document-end-editing: both seem to have been conditionalized
3967        backwards.
3968
39692007-01-05 16:22  gb
3970
3971        * level-0/l0-numbers.lisp: Fix another typo ...
3972
39732007-01-05 16:16  gb
3974
3975        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3976
39772007-01-05 15:27  gb
3978
3979        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3980        PPC32.
3981
39822007-01-05 06:20  gb
3983
3984        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3985        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3986        result (with the right arg) does obtain a link map.
3987       
3988        Revive shared libraries on FreeBSD, but don't do the strange
3989        Linux-specific re-opening there.  (It seems like it's possible to
3990        #_dlopen something that already has a loaded link map - like the
3991        FreeBSD dynamic linker - or something.)
3992
39932007-01-04 05:46  gb
3994
3995        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3996        :WILD-INFERIORS.
3997
39982007-01-04 05:45  gb
3999
4000        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4001        (which may use %gs instead of %fs for tls).
4002
40032007-01-04 05:44  gb
4004
4005        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4006
40072007-01-04 05:44  gb
4008
4009        * level-0/l0-numbers.lisp:
4010        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4011        accurately represented in float, do so.
4012
40132007-01-03 03:35  gb
4014
4015        * lib/sequences.lisp: Fix a few type errors, check for explicit
4016        vector-type length earlier.
4017
40182007-01-03 03:31  gb
4019
4020        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4021        preserved :WILD, don't map it to "*".
4022
40232007-01-03 03:30  gb
4024
4025        * lib/pathnames.lisp: More whack-a-mole with pathnames
4026        (specifically, preserving :WILD as name/type value and dealing with
4027        the consequences of doing so.)
4028
40292007-01-03 03:27  gb
4030
4031        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4032
40332007-01-02 09:57  gb
4034
4035        * lib/macros.lisp: Keep fixing CTYPECASE.
4036
40372007-01-02 09:57  gb
4038
4039        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4040        BASIC-CHARACTER-INPUT-STREAM returns both values.
4041       
4042        "Composite" (two-way, concatenated, etc) streams need a close
4043        protocol.
4044
40452007-01-02 07:00  gb
4046
4047        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4048        (new) version slot, as does practically everything else.
4049
40502007-01-02 06:59  gb
4051
4052        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4053        accurately coerced to floats when comparing fixnums and floats; do
4054        the logical equvalent of calling RATIONAL on the float instead.
4055
40562007-01-01 23:41  gb
4057
4058        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4059        version into returned namestring for physical pathnames.
4060
40612006-12-31 10:15  gb
4062
4063        * release-notes.txt: Update.
4064
40652006-12-31 09:13  gb
4066
4067        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4068        version.
4069
40702006-12-31 08:57  gb
4071
4072        * xdump/faslenv.lisp: Bump fasl-min-vers.
4073
40742006-12-31 08:49  gb
4075
4076        * lib/nfcomp.lisp: Bump current fasl version.
4077
40782006-12-31 08:33  gb
4079
4080        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4081        Tweak the executable start address.
4082
40832006-12-31 02:44  gb
4084
4085        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4086        ensure that there's nothing interesting in the first few pages of
4087        the address space (and ensure that those pages are mapped.)
4088
40892006-12-31 02:43  gb
4090
4091        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4092        on x86-64 (ld64 does some floating-point arithmetic, fails to
4093        account for roundoff error, and claims that 0x1000 isn't a power of
4094        2.) If you can't say anything good about a linker, it's best not to
4095        say anything at all.
4096       
4097        We can force the first segment to be mapped at 0x1000, and can
4098        waste a few pages to ensure that all low-memory pages that the lisp
4099        wants are mapped.
4100
41012006-12-31 02:33  gb
4102
4103        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4104        defensive.
4105
41062006-12-31 02:32  gb
4107
4108        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4109
41102006-12-31 02:29  gb
4111
4112        * xdump/faslenv.lisp: Bump $fasl-vers.
4113
41142006-12-31 02:28  gb
4115
4116        * level-1/version.lisp: Bump; remove "Beta" designation.
4117
41182006-12-29 20:13  gb
4119
4120        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4121        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4122        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4123        up a page on x86-64 as well.
4124
41252006-12-29 16:09  gb
4126
4127        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4128        .orged.
4129
41302006-12-29 15:32  gb
4131
4132        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4133        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4134        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4135        (including NIL) now one page higher on ppc32, as well.
4136
41372006-12-29 02:38  gb
4138
4139        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4140
41412006-12-29 01:38  gb
4142
4143        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4144        ppc64::reservation-discharge) up a page.
4145
41462006-12-29 01:37  gb
4147
4148        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4149        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4150
41512006-12-29 01:36  gb
4152
4153        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4154        backend.  ppc64 wants it one page higher than it has been, to avoid
4155        letting unmapped pages get claimed by the dynamic linker on Darwin.
4156
41572006-12-29 01:35  gb
4158
4159        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4160        that the image starts at #x1000 and aligned section data for the
4161        text section starts on the next page.
4162
41632006-12-29 01:33  gb
4164
4165        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4166        the aligned text section data starts.
4167
41682006-12-29 01:32  gb
4169
4170        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4171        etc a page higher.
4172
41732006-12-29 01:32  gb
4174
4175        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4176        already where it should be.
4177
41782006-12-29 01:32  gb
4179
4180        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4181        page higher.
4182
41832006-12-29 01:30  gb
4184
4185        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4186
41872006-12-22 01:40  gb
4188
4189        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4190
41912006-12-22 01:39  gb
4192
4193        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4194        PPC32/Darwin.
4195       
4196        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4197        test and use dlfcn functions if at least Tiger.
4198       
4199        (The old dyld functions are deprecated under Leopard, and there's
4200        reason to believe that they don't work correctly on at least ppc64/
4201        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4202        a 64-bit .dylib seems to lead to memory corruption rather than
4203        returning NSObjectFileImageInappropriateFile.
4204       
4205        The old functions work better than the dlfcn functions on pre-Tiger
4206        systems.)
4207
42082006-12-19 01:24  gb
4209
4210        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4211        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4212        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4213        producing a pathane with a non-null VERSION component, as it
4214        arguably should have been all along.
4215
42162006-12-18 13:22  gb
4217
4218        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4219        types into concrete vector types.
4220
42212006-12-18 13:04  gb
4222
4223        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4224        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4225        failing to do this leads to many test failures.)
4226
42272006-12-18 13:03  gb
4228
4229        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4230
42312006-12-18 12:57  gb
4232
4233        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4234        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4235        failing to do this leads to many test failures.)
4236
42372006-12-18 12:54  gb
4238
4239        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4240
42412006-12-16 05:28  gb
4242
4243        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4244        instructions have a minor opcode in frb and only have one source
4245        operand.
4246
42472006-12-16 05:27  gb
4248
4249        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4250        SQRT, note that there's only one operand and that it's in frb.
4251
42522006-12-16 05:25  gb
4253
4254        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4255        instructions, notably fsqrt/fqrts, which are optional and not
4256        implemented on some PPC machines.
4257
42582006-12-16 05:24  gb
4259
4260        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4261
42622006-12-14 19:47  gb
4263
4264        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4265
42662006-12-14 16:43  gb
4267
4268        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4269        double-float arithmetic vinsns should say :double-float, not
4270        :single-float.  (I suspect cut-and-paste, frankly.)
4271
42722006-12-14 16:25  gb
4273
4274        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4275        initial-thread.
4276
42772006-12-14 16:24  gb
4278
4279        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4280        error.
4281
42822006-12-14 16:14  gb
4283
4284        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4285        physical pathnames. (Yes, this is kind of silly.)
4286
42872006-12-14 16:01  gb
4288
4289        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4290        signal errors for (e.g.) failed memory allocation.
4291
42922006-12-14 16:00  gb
4293
4294        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4295        fails, signal a lisp error (what a concept.)
4296
42972006-12-14 15:51  gb
4298
4299        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4300       
4301        Might be worth revisiting this.
4302
43032006-12-14 15:50  gb
4304
4305        * lisp-kernel/x86-exceptions.c: Go back to using the
4306        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4307        from a fake context may not be reliable.
4308       
4309        When handling an interrupt with a partially created temp stack
4310        frame, do the right thing.  (That basically means reset the frame
4311        before calling out and recreating it if we return from the
4312        callout.)
4313       
4314        Handle SIGQUIT on the altstack, to provide a way of forcibly
4315        terminating threads that's a bit more GC-safe than doing it via
4316        #_pthread_cancel.
4317       
4318        Note the tcr of the gc thread on gc entry; if an exception happens
4319        in that thread, print a message and sleep for 60 seconds.
4320       
4321        Note that there's still a race condition here: if thread A gets an
4322        exception and thread B gets the mach_exception_lock (to GC) before
4323        the exception thread can handle the message, we deadlock (thread A
4324        would be suspended in the kernel and can't respond to a suspend
4325        signal.)  We can tell that this has happened and make a good guess
4326        as to why it happened, but dealing with it will require some
4327        thought.  (If we've already issued a suspend signal and eventually
4328        raise the suspended thread's resume semaphore, it'll suspend and
4329        resume once the mach exception thread makes it runnable.  Who
4330        cleans up its exception context in that case ?  Does it matter ?)
4331
43322006-12-14 15:19  gb
4333
4334        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4335        have all signals unmasked.
4336       
4337        If a tcr is dead, ensure that its stack areas are empty.
4338       
4339        Try to run shutdown_thread_tcr as a pthread cleanup action,
4340        hopefully before Mach clobbers the thread's signal mask.
4341
43422006-12-14 15:16  gb
4343
4344        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4345        TCR_AREA_LOCK.
4346
43472006-12-14 15:15  gb
4348
4349        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4350        hasn't existed in years.
4351
43522006-12-14 15:14  gb
4353
4354        * level-1/version.lisp: Bump.
4355
43562006-12-14 15:14  gb
4357
4358        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4359        termination semaphore.
4360
43612006-12-14 15:13  gb
4362
4363        * level-1/l1-processes.lisp: PROCESS objects are created with a
4364        termination semaphore.
4365
43662006-12-14 15:12  gb
4367
4368        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4369        TERMINATION-SEMAPHORE.
4370       
4371        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4372        target thread to transition from running lisp code to running
4373        foreign code without advertising that fact. Send a SIGQUIT instead,
4374        and trust the SIGQUIT handler to manage that transition.  Don't try
4375        to kill the initial thread.
4376
43772006-12-09 09:52  gb
4378
4379        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4380        their CLEAR-OUTPUT methods.
4381       
4382        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4383        their displaced-index-offsets.)
4384
43852006-12-09 09:49  gb
4386
4387        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4388        threads on x86-64.  (The PPC never got around to enabling them.)
4389
43902006-12-09 09:47  gb
4391
4392        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4393        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4394        the result of its evaluation.
4395       
4396        Some fixes in CTYPECASE handling, which hopefully didn't break
4397        anything else.
4398
43992006-12-09 09:36  gb
4400
4401        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4402        1d) index register is set - even if the index is a constant - if we
4403        think that the store needs EGC memoization.
4404       
4405        (Note that the test case that exposed this involved storing
4406        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4407        64-bit platforms.)
4408       
4409        In aref2, don't worry about reserving unscaled index registers when
4410        targeting the 1d index; the unscaled index registers aren't live
4411        after, could be NULL if the index is a constant, and any overlap
4412        between one of them and the 1d index should be handled in the
4413        vinsn(s).
4414
44152006-12-09 09:30  gb
4416
4417        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4418        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4419        class-translations.
4420
44212006-12-09 09:27  gb
4422
4423        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4424        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4425        don't segfault taking its CAR without checking.)
4426
44272006-12-06 18:48  gb
4428
4429        * level-0/X86/x86-float.lisp: x86-64 version of
4430        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4431        in %imm1 (which is undefined here ...)
4432
44332006-12-06 17:05  gb
4434
4435        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4436        right symbol for the named block.
4437       
4438        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4439        (SETF NAME).
4440
44412006-12-05 22:44  gb
4442
4443        * release-notes.txt: Update for 061205.
4444
44452006-12-05 20:31  gb
4446
4447        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4448        from putting a linkedit segment in the wrong place and making
4449        32-bit memory unmappable.
4450
44512006-12-05 20:30  gb
4452
4453        * level-1/version.lisp: Bump.
4454
44552006-12-05 20:29  gb
4456
4457        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4458
44592006-12-05 18:53  gb
4460
4461        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4462        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4463        doc string for *ALTERNATE-LINE-TERMINATOR*.
4464
44652006-12-04 15:13  gb
4466
4467        * level-1/version.lisp: Append a patchlevel to the version string,
4468        at least until new tarballs can be built.
4469
44702006-12-04 15:12  gb
4471
4472        * level-1/l1-streams.lisp: If stream element type upgrades to
4473        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4474        element-type.)
4475
44762006-12-04 13:02  gb
4477
4478        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4479        called): don't bother to shift by 0 bits.  Do shift the initial U
4480        if non-zero trailing 0 BITS (was testing for non-zero trailing
4481        DIGITS.)
4482
44832006-12-04 12:52  gb
4484
4485        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4486        element-types; do some upgrading to support some more element types
4487        (BIT -> (UNSIGNED-BYTE 8)).
4488       
4489        Maybe support arbitrarily large integer types someday soon.  Maybe
4490        not.
4491
44922006-12-04 12:48  gb
4493
4494        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4495        types (compiler stuff, mostly).
4496
44972006-12-04 12:46  gb
4498
4499        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4500        shift count of 32 (and returns 0 in that case.)
4501
45022006-12-04 12:46  gb
4503
4504        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4505        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4506        in case.)
4507
45082006-12-04 12:43  gb
4509
4510        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4511        GCD-2 ...
4512
45132006-12-04 09:26  gb
4514
4515        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4516        for STRING-INPUT-STREAMs.
4517
45182006-12-04 09:24  gb
4519
4520        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4521        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4522        shift by 0 bits.
4523
45242006-12-04 09:21  gb
4525
4526        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4527        doing %SLOT-UNBOUND-TRAP.
4528
45292006-12-04 09:21  gb
4530
4531        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4532        STREAMs, returns NIL.  STREAM-POSITION method for
4533        STRING-INPUT-STREAMs.
4534
45352006-12-04 09:19  gb
4536
4537        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4538        containing heap image.
4539
45402006-12-03 07:41  gb
4541
4542        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4543        STRING-OUTPUT-STREAMs are no-ops.
4544       
4545        Need an ioblock-based character-read-vector function for
4546        string-input-streams.
4547
45482006-12-03 07:37  gb
4549
4550        * lib/describe.lisp: Minimal DESCRIBE support for
4551        CCL::BASIC-STREAM.
4552
45532006-12-03 07:36  gb
4554
4555        * lib/macros.lisp: If :element-type is supplied in
4556        WITH-OUTPUT-TO-STRING, don't quote it.
4557
45582006-12-03 05:11  gb
4559
4560        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4561        isn't necessarily 16.
4562
45632006-12-03 05:10  gb
4564
4565        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4566        isn't necessarily 16.
4567       
4568        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4569        %slot-unbound-trap.
4570
45712006-12-03 05:09  gb
4572
4573        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4574        avoid some NO-NEXT-METHODs.
4575
45762006-12-03 02:42  gb
4577
4578        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4579        bit better.
4580
45812006-12-03 02:41  gb
4582
4583        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4584        bit.
4585
45862006-12-03 02:28  gb
4587
4588        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4589        clearing the low byte of the header, shifting it right, and
4590        comparing the index to that.  (It's not reliable to shift the index
4591        left.)
4592
45932006-12-03 02:26  gb
4594
4595        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4596        write BOM, leave that up to higher-level code.
4597       
4598        Start to write some higher-level code.
4599
46002006-12-03 02:23  gb
4601
4602        * level-1/l1-sysio.lisp: Fix some indentation.
4603
46042006-12-03 02:21  gb
4605
4606        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4607        the header word right (after clearing its low byte) and compare the
4608        index to that.  (Shifting the index left - d'oh - obviously fails
4609        for indices of large magnitude.)
4610
46112006-11-29 21:07  gb
4612
4613        * lib/db-io.lisp: Indentation change.
4614       
4615        Add CDB-ENUMERATE-KEYS.
4616
46172006-11-29 18:37  gb
4618
4619        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4620        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4621        LISTP first.  (I hope ...).  Do so.
4622
46232006-11-28 18:42  gb
4624
4625        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4626
46272006-11-28 16:14  gb
4628
4629        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4630
46312006-11-28 16:12  gb
4632
4633        * examples/objc-runtime.lisp: Wrap a (primitive)
4634        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4635        NSThread.
4636
46372006-11-28 16:09  gb
4638
4639        * examples/cocoa-listener.lisp: Don't claim that a callback
4640        parameter is ignored; use IGNORABLE instead.
4641
46422006-11-21 01:28  gb
4643
4644        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4645        conditionalization.
4646
46472006-11-21 00:55  gb
4648
4649        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4650        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4651       
4652        Basic file-socket streams.
4653
46542006-11-10 05:08  gb
4655
4656        * release-notes.txt: Update.
4657
46582006-11-10 04:28  gb
4659
4660        * lisp-kernel/image.h: Bump min image version.
4661
46622006-11-10 04:19  gb
4663
4664        * xdump/heap-image.lisp: bump current image version.
4665
46662006-11-10 04:19  gb
4667
4668        * lisp-kernel/image.h: bump current, max image version.
4669
46702006-11-10 04:10  gb
4671
4672        * xdump/faslenv.lisp: Bump min fasl version.
4673
46742006-11-10 03:56  gb
4675
4676        * lib/nfcomp.lisp: bump current fasl version.
4677
46782006-11-10 03:47  gb
4679
4680        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4681        #_exit
4682
46832006-11-10 03:46  gb
4684
4685        * compiler/X86/x862.lisp: TYPE typo.
4686
46872006-11-10 03:32  gb
4688
4689        * xdump/faslenv.lisp: Bump max fasl version.
4690
46912006-11-10 03:25  gb
4692
4693        * level-1/version.lisp: Bump.  New snapshots today!
4694
46952006-11-09 16:26  gb
4696
4697        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4698       
4699        PREPARE-TO-QUIT kill stragglers without waiting as long.
4700
47012006-11-09 15:50  gb
4702
4703        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4704       
4705        Try to run lisp code after #_exit via lazarus(); this is for some
4706        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4707       
4708        The environment in which The Undead code runs is a little funky,
4709        especially on PPC.  There might be GC implications (cstack will
4710        contain call history as of the point when #_exit called atexit
4711        handlers, vstack & tstack are emptied in lazarus()).  We should
4712        barely run any code in this environment, but we will GC a time or
4713        two ...
4714
47152006-11-09 15:45  gb
4716
4717        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4718
47192006-11-09 15:43  gb
4720
4721        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4722        protocol.
4723
47242006-11-09 15:42  gb
4725
4726        * examples/cocoa-listener.lisp: :set-document-edited for listener
4727        "documents" is a no-op.
4728
47292006-11-09 15:39  gb
4730
4731        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4732        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4733
47342006-11-09 12:50  gb
4735
4736        * compiler/X86/x862.lisp: Always check that array-ctype's
4737        dimensions are a list before taking their length.
4738
47392006-11-09 12:13  gb
4740
4741        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4742        right thing ...
4743
47442006-11-09 10:08  gb
4745
4746        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4747        Three-arg aref/(setf aref) for x8664.
4748
47492006-11-09 05:37  gb
4750
4751        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4752        errors.
4753
47542006-11-09 05:37  gb
4755
4756        * compiler/nxenv.lisp: Operators for 3d array access.
4757
47582006-11-09 05:36  gb
4759
4760        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4761        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4762        array types.
4763
47642006-11-08 12:50  gb
4765
4766        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4767        Leopard nonsense: define the stack context struct separately, make
4768        the ucontext stack field an instance of it.  (Not -sure- if that
4769        was necessary, but :poweropen-target was accidentally on *FEATURES*
4770        and foreign struct layout was using read-time condtionalization to
4771        decide whether or not to use brain-dead structure-alignment rules
4772        leftover from AIX/PowerOpen.
4773
47742006-11-08 12:46  gb
4775
4776        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4777
47782006-11-08 12:40  gb
4779
4780        * compiler/optimizers.lisp: Try to infer/insert the array type when
4781        compiler-macroexpanding MAKE-ARRAY calls.
4782
47832006-11-08 12:39  gb
4784
4785        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4786        :poweropen-alignment rules.
4787
47882006-11-08 12:38  gb
4789
4790        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4791        to poweropen structure layout rules should be an attribute of the
4792        FTD, not done via read-time conditionalization.
4793
47942006-11-08 05:15  gb
4795
4796        * level-1/version.lisp: Bump.
4797
47982006-11-08 05:15  gb
4799
4800        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4801       
4802        TODO: get rid of "bivalent" streams, but allow switching some
4803        streams (sockets) between "character mode" and "binary mode".
4804
48052006-11-08 02:39  gb
4806
4807        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4808
48092006-11-07 21:10  gb
4810
4811        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4812        ASET->%ASET3.
4813
48142006-11-07 20:40  gb
4815
4816        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4817
48182006-11-07 20:39  gb
4819
4820        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4821
48222006-11-07 20:38  gb
4823
4824        * level-0/l0-array.lisp: Use %aref2,%aref3.
4825
48262006-11-07 20:37  gb
4827
4828        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4829        vector-store vinsns.
4830
48312006-11-07 20:37  gb
4832
4833        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4834
48352006-11-07 10:28  gb
4836
4837        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4838        .SPaset3.
4839
48402006-11-07 10:27  gb
4841
4842        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4843
48442006-11-07 10:26  gb
4845
4846        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4847        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4848
48492006-11-07 10:26  gb
4850
4851        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4852        mullw/mulld.
4853
48542006-11-07 04:12  gb
4855
4856        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4857
48582006-11-06 22:07  gb
4859
4860        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4861        :fixnum-vector case.
4862
48632006-11-06 22:04  gb
4864
4865        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4866        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4867        known/declared.
4868
48692006-11-06 22:02  gb
4870
4871        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4872        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4873        versions, but it helps not to have to remember which are
4874        implemented and which aren't.)
4875
48762006-11-06 22:01  gb
4877
4878        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4879
48802006-11-06 22:00  gb
4881
4882        * compiler/nx1.lisp: New %ASET2 handling.
4883
48842006-11-06 21:59  gb
4885
4886        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4887        never assigned to.
4888
48892006-11-05 22:09  gb
4890
4891        * level-1/x86-trap-support.lisp: Try to work around
4892        incompatibilites in Tiger/Leopard headers.
4893
48942006-11-05 22:08  gb
4895
4896        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4897        the foreign function may not exist.
4898
48992006-11-05 20:41  gb
4900
4901        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4902
49032006-11-05 07:55  gb
4904
4905        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4906        x86-64, as well.
4907
49082006-11-05 07:52  gb
4909
4910        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4911
49122006-11-05 07:50  gb
4913
4914        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4915        .SPaset2.
4916
49172006-11-05 07:48  gb
4918
4919        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4920        testing simple-array-ness, add the (possibly 0) displacement from
4921        the header before handling the simple aref of the data vector.
4922
49232006-11-05 07:47  gb
4924
4925        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4926        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4927
49282006-11-05 07:46  gb
4929
4930        * level-1/version.lisp: Bump; new binaries soon.
4931
49322006-11-05 07:46  gb
4933
4934        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4935        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4936        4G seconds after an EINTR on Leopard.
4937
49382006-11-05 07:44  gb
4939
4940        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4941        if any non-fixnum bits would be set in the result.  (Should
4942        probably make this true on all platforms; for PPC64, it's important
4943        for foreign function addresses that're ... suboptimally aligned.)
4944
49452006-11-05 07:42  gb
4946
4947        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4948        %NANOSLEEP's second (by reference) argument contains garbage after
4949        an EINTR.  (The L word, again.)
4950
49512006-11-05 07:41  gb
4952
4953        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4954        into the kernel.
4955
49562006-11-05 07:40  gb
4957
4958        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4959        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4960        MACPTR->FIXNUM return NIL if an address isn't representable as a
4961        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4962        can't return a fixnum on PPC (really just affects PPC64.)
4963
49642006-11-05 07:37  gb
4965
4966        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4967
49682006-11-05 07:36  gb
4969
4970        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4971        2d aref support/changes.
4972
49732006-11-05 07:36  gb
4974
4975        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4976        x8664 wrt 2d aref.  Stll a ways to go.
4977
49782006-11-05 07:35  gb
4979
4980        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4981
49822006-11-04 00:05  gb
4983
4984        * level-1/version.lisp: Bump.
4985
49862006-11-03 23:10  gb
4987
4988        * level-1/ppc-error-signal.lisp: fix parens.
4989
49902006-11-03 23:09  gb
4991
4992        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4993        gvector types contains :struct, not :structure.
4994
49952006-11-03 23:08  gb
4996
4997        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4998        subprim.
4999       
5000        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5001        in the builtin functions table.
5002
50032006-11-03 15:19  gb
5004
5005        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5006
50072006-11-03 15:18  gb
5008
5009        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5010
50112006-11-03 15:17  gb
5012
5013        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5014        type-error UUOs.
5015
50162006-11-03 15:16  gb
5017
5018        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5019
50202006-11-03 15:16  gb
5021
5022        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5023        (array-header) layout.
5024
50252006-11-03 13:46  gb
5026
5027        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5028        returns its argument if all members are SPECIALIZERS.
5029       
5030        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5031        arguments, for the benefit of people who haven't read the MOP spec
5032        or who don't realize that the MOP defines some things differently
5033        from CLHS.
5034
50352006-11-03 13:38  gb
5036
5037        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5038        to refer to primitive structure type.
5039       
5040        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5041
50422006-11-03 13:37  gb
5043
5044        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5045        :STRUCTURE) is on target-gvector-types.
5046
50472006-11-03 12:53  gb
5048
5049        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5050
50512006-11-03 12:52  gb
5052
5053        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5054         More to come ...
5055
50562006-11-03 12:52  gb
5057
5058        * lisp-kernel/x86-constants64.s: Define array-header layout.
5059
50602006-11-03 12:51  gb
5061
5062        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5063        encodings, new type-error constants.
5064
50652006-11-03 12:50  gb
5066
5067        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5068        traps.
5069
50702006-11-03 12:49  gb
5071
5072        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5073        constant-redefinition CERRORs.
5074
50752006-11-03 12:48  gb
5076
5077        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5078
50792006-11-03 12:47  gb
5080
5081        * level-0/l0-pred.lisp: array--header -> array-header.
5082
50832006-11-03 12:47  gb
5084
5085        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5086        add/change some 2d array stuff.
5087
50882006-11-03 12:43  gb
5089
5090        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5091        subprims; seem to be much (>5x) faster than the lisp/lap versions
5092        (though we can generally be faster still when we know the
5093        element-type and/or know whether the array is simple or explicitly
5094        displaced.)
5095
50962006-11-03 12:41  gb
5097
5098        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5099        related changes.
5100       
5101        Split the code which handles bounds/type-checking in vref out from
5102        the code which actually does the reference, so that the latter can
5103        be used in multidimensional cases.
5104       
5105        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5106        general case.)
5107
51082006-11-03 12:38  gb
5109
5110        * compiler/nx1.lisp: Change handling of 2d-aref.
5111
51122006-11-03 12:37  gb
5113
5114        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5115        general-aref2.  More changes to come (and this may affect
5116        compilation on PPC until some PPC compiler changes are
5117        made/checked-in.)
5118
51192006-11-03 12:35  gb
5120
5121        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5122        the range 128-255, rather than 64-127; more are defined.
5123
51242006-11-02 09:43  gb
5125
5126        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5127
51282006-11-02 09:37  gb
5129
5130        * compiler/arch.lisp: New error constants; work in progress ...
5131
51322006-11-01 11:40  gb
5133
5134        * lisp-kernel/errors.s: Some new constants; more to check in later.
5135
51362006-10-31 03:39  gb
5137
5138        * level-0/l0-io.lisp: You must be reading the OLD rule book
5139        (Leopard and #$EINTR).
5140
51412006-10-31 03:21  gb
5142
5143        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5144        the tcr.  Initialize "addr" before testing it ...
5145
51462006-10-31 03:21  gb
5147
5148        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5149        the tcr.
5150
51512006-10-30 20:40  gb
5152
5153        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5154        expands into something more useful.
5155
51562006-10-30 20:39  gb
5157
5158        * lisp-kernel/ppc-spentry.s: Fix ppc32
5159        misc_ref_double_float_vector.
5160
51612006-10-30 00:24  gb
5162
5163        * level-0/l0-bignum64.lisp: Enable the destructive version of
5164        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5165        provide/fix supporting functions.  Seems to work on ppc64; needs
5166        testing on x8664.
5167
51682006-10-27 17:49  gb
5169
5170        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5171
51722006-10-25 20:36  gb
5173
5174        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5175        variants): always clear the untyi-char.
5176       
5177        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5178        needs an argument.
5179       
5180        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5181        bivalent streams.
5182       
5183        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5184
51852006-10-24 12:35  gb
5186
5187        * level-1/version.lisp: Bump.
5188
51892006-10-24 01:29  gb
5190
5191        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5192        _SPdestbind1 (still used in inlining, sometimes.)
5193
51942006-10-24 01:05  gb
5195
5196        * release-notes.txt: Change the date, add/change some content.
5197
51982006-10-24 01:05  gb
5199
5200        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5201        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5202
52032006-10-24 00:56  gb
5204
5205        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5206        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5207
52082006-10-24 00:55  gb
5209
5210        * level-1/l1-streams.lisp: When recycling
5211        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5212        (Failure to do this can screw up the pretty-printer, among other
5213        things.)
5214
52152006-10-24 00:52  gb
5216
5217        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5218        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5219
52202006-10-23 17:03  gb
5221
5222        * release-notes.txt: Updated; almost ready to go (still a
5223        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5224
52252006-10-23 16:43  gb
5226
5227        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5228        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5229
52302006-10-23 16:42  gb
5231
5232        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5233        STREAM-EXTERNAL-FORMAT) methods.
5234
52352006-10-23 16:41  gb
5236
5237        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5238        stuff.
5239
52402006-10-23 08:27  gb
5241
5242        * level-1/version.lisp: Bump; binaries today, honest.
5243
52442006-10-23 08:27  gb
5245
5246        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5247
52482006-10-23 08:26  gb
5249
5250        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5251        macros were checking for the presence of an input lock ...
5252
52532006-10-23 05:40  gb
5254
5255        * level-1/l1-streams.lisp: Optimize write-string on string streams
5256        a little.
5257
52582006-10-23 05:26  gb
5259
5260        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5261        which evaluates the string form twice; don't do whatever was being
5262        done to default the element type of the string stream.
5263
52642006-10-23 05:24  gb
5265
5266        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5267        keyword/subtype checking if element-type not provided.  (Could also
5268        skip it if it's explicit and obviously OK.)
5269
52702006-10-23 05:22  gb
5271
5272        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5273        "current" allocation if nothing's reserved.
5274
52752006-10-23 05:19  gb
5276
5277        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5278        update_bytes_allocated (sign of "disp").
5279
52802006-10-22 08:02  gb
5281
5282        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5283        form like a PROGN if there are no other forms.
5284
52852006-10-22 08:01  gb
5286
5287        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5288        ioblock functions.
5289       
5290        New string-stream implementation.  Better ...
5291
52922006-10-22 07:59  gb
5293
5294        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5295        before the stream closes.
5296
52972006-10-22 07:59  gb
5298
5299        * lib/pprint.lisp: Don't assume that string output stream strings
5300        have a fill-pointer; use STREAM-POSITION instead.
5301
53022006-10-22 07:57  gb
5303
5304        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5305        functions, after all.
5306       
5307        Go through (new) ioblock-unread-char-function.
5308
53092006-10-22 07:55  gb
5310
5311        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5312        x/s
5313
53142006-10-21 18:46  gb
5315
5316        * level-1/l1-streams.lisp: Typo.
5317
53182006-10-21 18:41  gb
5319
5320        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5321        fields in pseudo sigcontexts.
5322
53232006-10-21 18:40  gb
5324
5325        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5326        twice, etc.)
5327
53282006-10-21 18:35  gb
5329
5330        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5331        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5332        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5333        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5334        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5335
53362006-10-21 16:45  gb
5337
5338        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5339        encodings!
5340
53412006-10-19 13:48  gb
5342
5343        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5344        arg_z - in %safe-get-ptr.
5345
53462006-10-19 13:22  gb
5347
5348        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5349        optional, use #\Sub char-code as replaement char.
5350
53512006-10-19 13:21  gb
5352
5353        * examples/objc-runtime.lisp: Missing close paren.
5354
53552006-10-19 13:19  gb
5356
5357        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5358        strings to/from foreign memory.
5359
53602006-10-19 13:18  gb
5361
5362        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5363
53642006-10-18 08:04  gb
5365
5366        * level-1/version.lisp: Bump.  Binaries later today ?
5367
53682006-10-18 07:38  gb
5369
5370        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5371        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5372        class becomes (or ceases to be) a properly named class.
5373       
5374        The pre-bootstrapping version handles simpler cases of that; use
5375        ALIAS-CLASS to register some early class names as type names.
5376
53772006-10-18 07:36  gb
5378
5379        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5380        system, since only symbols which name properly-named classes are
5381        type specifiers.  Changing the name of a class can either introduce
5382        or remove a properly-named class.
5383       
5384        Classes that have the kernel-p attribute shouldn't have their names
5385        changed casually.
5386
53872006-10-18 07:33  gb
5388
5389        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5390        MAKE-SOCKET, pass it down to whatever function actually creates a
5391        stream socket.
5392
53932006-10-18 02:12  gb
5394
5395        * compiler/X86/x862.lisp: Allow closed-over addresses in
5396        conditional-form, NOT.
5397
53982006-10-18 01:43  gb
5399
5400        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5401        safe_ref_addres.
5402
54032006-10-18 01:43  gb
5404
5405        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5406
54072006-10-18 01:41  gb
5408
5409        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5410        addresses/vcells to nil.
5411
54122006-10-18 01:41  gb
5413
5414        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5415        addresses to NIL.
5416       
5417        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5418        level inline.
5419
54202006-10-18 01:39  gb
5421
5422        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5423        for a few months now.  The disassembler is always the last to know.
5424
54252006-10-17 19:15  gb
5426
5427        * compiler/PPC/PPC32/ppc32-arch.lisp,
5428        compiler/PPC/PPC64/ppc64-arch.lisp,
5429        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5430        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5431        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5432        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5433        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5434        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5435       
5436        Handle memory faults to safe-ref-addres on PPC (so far).
5437       
5438        Try using SAFE-GET-PTR in objc runtime (untested).
5439
54402006-10-17 17:34  gb
5441
5442        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5443        type in acode.
5444
54452006-10-17 14:02  gb
5446
5447        * level-1/l1-unicode.lisp: BOM-ENCODING.
5448
54492006-10-17 14:02  gb
5450
5451        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5452        something.
5453       
5454        Clear the pending-bom flag when seeking.
5455
54562006-10-17 14:01  gb
5457
5458        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5459        ioblock-based character streams.
5460
54612006-10-17 13:45  gb
5462
5463        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5464        *interrupt-level* inline.
5465
54662006-10-17 13:44  gb
5467
5468        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5469        immmediate operand (xuuo).
5470
54712006-10-17 13:39  gb
5472
5473        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5474        when necessary.
5475
54762006-10-17 13:39  gb
5477
5478        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5479        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5480
54812006-10-15 17:51  gb
5482
5483        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5484       
5485        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5486
54872006-10-15 17:51  gb
5488
5489        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5490
54912006-10-15 17:50  gb
5492
5493        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5494
54952006-10-14 07:41  gb
5496
5497        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5498        ENSURING-NODE-TARGET.
5499       
5500        Inline the fixnum case of two-arg numeric comparisons.
5501
55022006-10-14 07:39  gb
5503
5504        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5505        INLINE-SUB2 support.
5506
55072006-10-14 06:30  gb
5508
5509        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5510        generated DEFSTRUCT accessors.
5511
55122006-10-14 06:27  gb
5513
5514        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5515       
5516        Do the fixnum case of two-argument subtraction inline.
5517       
5518        Inline the fixnum case of two-argument numeric comparisons.
5519       
5520        STRUCT-REF avoids typechecking when reckless.
5521
55222006-10-14 06:21  gb
5523
5524        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5525        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5526
55272006-10-14 06:20  gb
5528
5529        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5530        little differently.
5531       
5532        Add xchg-registers.
5533
55342006-10-13 04:54  gb
5535
5536        * compiler/nx1.lisp: Use new NUMCMP operator.
5537
55382006-10-13 04:53  gb
5539
5540        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5541        in effect at call time, not those in effect at definition time.
5542
55432006-10-13 04:50  gb
5544
5545        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5546        inlining issues.
5547
55482006-10-13 04:30  gb
5549
5550        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5551
55522006-10-12 19:46  gb
5553
5554        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5555        "--" is seen.
5556
55572006-10-12 19:45  gb
5558
5559        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5560        newline translation differenly (at the character I/O level, not the
5561        buffer level).
5562       
5563        All character encoding/decoding functions operate on octets, not
5564        necessarily code units.  (The stream encode/decode functions are an
5565        exception; serialization and byte ordering are handled by the
5566        stream.)
5567
55682006-10-09 16:34  gb
5569
5570        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5571        encode a character in (implicit) iso-8859-1.
5572
55732006-10-09 16:33  gb
5574
5575        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5576        a replacement character.
5577
55782006-10-09 16:31  gb
5579
5580        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5581        write/read something, even if it's a replacement character of some
5582        sort.
5583
55842006-10-09 15:19  gb
5585
5586        * level-1/l1-streams.lisp: More stuff about line termination.  When
5587        will this end ?
5588
55892006-10-09 15:19  gb
5590
5591        * lib/chars.lisp: Use a hashtable to map characters to their names.
5592         (Maybe a sparse vector ?).
5593
55942006-10-09 15:18  gb
5595
5596        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5597        their names.  (Maybe a sparse vector ?).
5598       
5599        Define #\Sub and #\Replacement_Character.
5600
56012006-10-08 21:17  gb
5602
5603        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5604        NEW-BACKTRACE for a while now.
5605
56062006-10-08 21:16  gb
5607
5608        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5609        Panther happy.
5610
56112006-10-08 20:30  gb
5612
5613        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5614
56152006-10-08 20:30  gb
5616
5617        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5618        pathname, before it's too late ...
5619
56202006-10-08 20:29  gb
5621
5622        * level-1/l1-unicode.lisp: ASCII, some other changes.
5623
56242006-10-08 20:29  gb
5625
5626        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5627        :line-termination option to MAKE-FD-STREAM.
5628
56292006-10-08 20:28  gb
5630
5631        * level-1/l1-streams.lisp: Yet another line-termination translation
5632        scheme; hopefully, the last for a while. (More tedium before it's
5633        actually installed.)
5634
56352006-10-08 20:27  gb
5636
5637        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5638        #\Paragraph_separator.
5639
56402006-10-07 20:35  gb
5641
5642        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5643
56442006-10-07 20:34  gb
5645
5646        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5647        kernel debugger if interactive streams aren't initialized yet.
5648        (We'd probably get there sooner or later in that case; try to get
5649        there sooner.)
5650
56512006-10-07 20:33  gb
5652
5653        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5654        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5655        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5656        method.)
5657
56582006-10-07 20:32  gb
5659
5660        * level-1/l1-application.lisp: Handle the (new)
5661        -K/--terminal-encoding command-line argument.
5662
56632006-10-07 11:14  gb
5664
5665        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5666        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5667        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5668
56692006-10-07 11:13  gb
5670
5671        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5672        entered when --batch is in effect.
5673
56742006-10-07 11:12  gb
5675
5676        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5677        PROCESS-EXIT-APPLICATION.
5678
56792006-10-07 11:11  gb
5680
5681        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5682        *stdout* here.
5683
56842006-10-06 04:49  gb
5685
5686        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5687        TRANSLATE slot to IO-BUFFER.
5688
56892006-10-06 04:40  gb
5690
5691        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5692
56932006-10-06 04:39  gb
5694
5695        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5696
56972006-10-06 04:38  gb
5698
5699        * level-1/version.lisp: Bump.
5700
57012006-10-06 04:38  gb
5702
5703        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5704        replacement character.
5705
57062006-10-05 14:46  gb
5707
5708        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5709
57102006-10-05 14:46  gb
5711
5712        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5713
57142006-10-05 14:46  gb
5715
5716        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5717        C-like value (all exceptions masked) before doing a callback.  (Not
5718        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5719        value, where most exceptions were unmasked, and this caused FP
5720        exceptions when calling out to foreign code with the "lispy"
5721        tcr.foreign_mxcsr in effect.)
5722       
5723        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5724        the spurious SIGTRAPs, but might be the right idea (and might save
5725        a context switch or two.)
5726       
5727        Mach exception stuff initializes rflags to exception rflags when
5728        arranging to resume thread at handler.  Leaving them uninitialized
5729        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5730        set.
5731
57322006-10-05 06:09  gb
5733
5734        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5735
57362006-10-05 06:09  gb
5737
5738        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5739        #\U+xxxx syntax.
5740
57412006-10-05 06:08  gb
5742
5743        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5744
57452006-10-05 06:07  gb
5746
5747        * level-1/l1-sysio.lisp: Try to get
5748        line-termination/external-format stuff working.
5749
57502006-10-05 05:35  gb
5751
5752        * level-1/l1-streams.lisp: Assume that character data is always
5753        encoded as one or more 8-bit octets.
5754
57552006-10-05 04:59  gb
5756
5757        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5758        just before we make the first one.
5759
57602006-10-02 08:13  gb
5761
5762        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5763        handlers, so we need to make handlers do a sigreturn after
5764        switching off the signal stack, etc.
5765
57662006-10-02 08:11  gb
5767
5768        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5769        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5770        handling for cleanup of tcr pending exception and since we can't
5771        easily restore the signal mask.)
5772       
5773        (Up until this point, SIGRETURN has been a nop on Darwin.)
5774
57752006-10-02 04:59  gb
5776
5777        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5778        earlier.
5779
57802006-10-02 04:47  gb
5781
5782        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5783        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5784        systems <= 10.4).
5785
57862006-10-02 02:46  gb
5787
5788        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5789        Try to make x86-64 version compile under 10.4 again; see if this
5790        breaks post-10.4 compilation.
5791
57922006-10-02 02:33  gb
5793
5794        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5795        x86-exceptions.h: Change things so that they compile for x86-64 on
5796        systems later than 10.4.  Almost certainly break 10.4 compilation
5797        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5798        hours on crap like this, just let me know!)
5799
58002006-09-27 20:33  gb
5801
5802        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5803
58042006-09-27 20:33  gb
5805
5806        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5807
58082006-09-27 05:46  gb
5809
5810        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5811        BASIC-STREAM classes a class prototype.
5812
58132006-09-27 05:45  gb
5814
5815        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5816        initialization, to make it easier to use MAKE-FD-STREAM to open
5817        (seekable) FILE-STREAMs.
5818
58192006-09-27 05:41  gb
5820
5821        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5822        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5823
58242006-09-27 05:39  gb
5825
5826        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5827        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5828        division-by-zero, but that should be masked when in foreign code.)
5829        Don't reload the lisp mxcsr until other registers have been popped,
5830        to make debugging easier in case it's the act of reloading the
5831        mxcsr that causes the spurious trap.)
5832
58332006-09-27 05:36  gb
5834
5835        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5836
58372006-09-27 05:35  gb
5838
5839        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5840        was parenthesized in such a way as to not return the error value on
5841        error.
5842
58432006-09-27 05:34  gb
5844
5845        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5846        passing context into the kernel makes it too difficult to debug/get
5847        backtrace, etc.)
5848
58492006-09-27 05:33  gb
5850
5851        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5852        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5853
58542006-09-27 05:05  gb
5855
5856        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5857        (mostly for BUILT-IN-CLASSes).
5858
58592006-09-26 20:49  gb
5860
5861        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5862        a BASIC-P argument.
5863
58642006-09-26 20:47  gb
5865
5866        * level-1/l1-streams.lisp: More changes.  Imagine that.
5867
58682006-09-26 20:46  gb
5869
5870        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5871        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5872
58732006-09-26 20:43  gb
5874
5875        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5876        take/return strings, not chars.
5877       
5878        Some bom stuff.
5879
58802006-09-24 20:14  gb
5881
5882        * lib/chars.lisp: Check for assumptions about character size.
5883        Remove some %i-isms (fixnum arithmetic), make assertions about type
5884        of char-code.
5885
58862006-09-24 20:12  gb
5887
5888        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5889        CHKBOUNDS function.  Simpler STRING-START-END.
5890
58912006-09-24 20:11  gb
5892
5893        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5894        Probably belongs elsewhere; some encodings may not make it at all
5895        possible.
5896
58972006-09-24 20:07  gb
5898
5899        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5900        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5901
59022006-09-24 20:00  gb
5903
5904        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5905        line-termination slot from ioblock and corresponding arg from
5906        functions which initialize it.
5907
59082006-09-24 19:59  gb
5909
5910        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5911        file-ioblock.
5912
59132006-09-24 19:58  gb
5914
5915        * level-1/l1-unicode.lisp: Buffer translation functions don't
5916        belong here; start thinking about BOM.
5917
59182006-09-24 19:57  gb
5919
5920        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5921        it's been a :u32const for the last few weeks ...
5922
59232006-09-24 04:29  gb
5924
5925        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5926        the code is within its bounds.
5927
59282006-09-24 04:27  gb
5929
5930        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5931        mappings in a vector and a hash table, rather than in an alist.
5932
59332006-09-24 04:26  gb
5934
5935        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5936        character constant fasl encoding ($fasl-char).
5937
59382006-09-23 05:31  gb
5939
5940        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5941        sure which are the most important.)
5942
59432006-09-23 05:29  gb
5944
5945        * level-1/l1-sysio.lisp: Start to separate
5946        line-termination/external-format stuff.
5947
59482006-09-23 05:28  gb
5949
5950        * level-1/l1-streams.lisp: Lots-o-changes.
5951
59522006-09-23 05:28  gb
5953
5954        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5955        UTF-8 (mostly for debugging utf-8 ...)
5956
59572006-09-21 04:07  gb
5958
5959        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5960        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5961        clobbered r11, sometimes didn't.)
5962
59632006-09-21 04:05  gb
5964
5965        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5966
59672006-09-21 04:05  gb
5968
5969        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5970        callback_for_interrupt.
5971
59722006-09-21 04:04  gb
5973
5974        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5975        x86-64 ucontext/mcontext on Darwin.
5976
59772006-09-21 04:02  gb
5978
5979        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5980        flavors.
5981       
5982        Add a type decl in %nanosleep.
5983
59842006-09-21 04:01  gb
5985
5986        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5987        vinsns.
5988
59892006-09-21 04:01  gb
5990
5991        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5992        values.  (Probably only matters in a few cases, like the Darwin
5993        x86-64 version of #_nanosleep, which returns a non-sign-extended
5994        "int" value if the sleep is interruted.)
5995
59962006-09-20 06:34  gb
5997
5998        * level-1/version.lisp: Bump.
5999
60002006-09-20 04:24  gb
6001
6002        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6003        slight improvements in signed-byte boxing, typechecking.
6004
60052006-09-20 04:22  gb
6006
6007        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6008
60092006-09-20 04:21  gb
6010
6011        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6012
60132006-09-20 04:21  gb
6014
6015        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6016
60172006-09-20 04:20  gb
6018
6019        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6020        versions.  Need a "logical" UTF-16, which deals with byte-order
6021        marks and a means of installing a concrete encoding.  Needs
6022        testing.
6023
60242006-09-20 04:15  gb
6025
6026        * level-1/l1-streams.lisp: Numerous changes.
6027
60282006-09-20 04:15  gb
6029
6030        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6031
60322006-09-20 04:14  gb
6033
6034        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6035        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6036
60372006-09-20 04:12  gb
6038
6039        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6040        8,16,32,64
6041
60422006-09-19 01:38  gb
6043
6044        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6045        vinsns for REQUIRE-[US][8,16,32,64]
6046
60472006-09-19 01:37  gb
6048
6049        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6050        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6051        64).
6052
60532006-09-19 01:36  gb
6054
6055        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6056
60572006-09-19 01:36  gb
6058
6059        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6060        operators.
6061
60622006-09-19 01:34  gb
6063
6064        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6065        require-[us][8,16,32,64] when possible.
6066
60672006-09-19 01:34  gb
6068
6069        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6070
60712006-09-19 01:33  gb
6072
6073        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6074
60752006-09-19 01:15  gb
6076
6077        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6078        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6079
60802006-09-19 00:36  gb
6081
6082        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6083
60842006-09-18 21:42  gb
6085
6086        * lib/macros.lisp: Macros for locking the input/output locks of an
6087        ioblock, assuming that it exists.
6088
60892006-09-17 00:45  gb
6090
6091        * level-1/l1-streams.lisp: more changes
6092
60932006-09-13 06:52  gb
6094
6095        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6096        WRITE-STRING, TERPRI.
6097
60982006-09-13 06:08  gb
6099
6100        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6101
61022006-09-13 06:07  gb
6103
6104        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6105        named encoding isn't defined.
6106       
6107        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6108
61092006-09-13 06:06  gb
6110
6111        * level-1/l1-streams.lisp: More functions in the ioblock, some
6112        support for 8-bit encodings (like utf-8).  Not finished, but
6113        getting hard to bootstrap; need to check in and build on all
6114        platforms before it gets even harder.
6115
61162006-09-12 05:34  gb
6117
6118        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6119        %copy-ivector-to-pointer) in BUG.
6120
61212006-09-12 05:31  gb
6122
6123        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6124        altstack_signal_handler is entered in foreign code.  (Maybe want to
6125        signal a lisp error in some cases, but this is currently fatal and
6126        we might as well die earlier than with a stack overflow.)
6127
61282006-09-12 05:29  gb
6129
6130        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6131        direction right on FreeBSD.  (Much better than randomly scribbling
6132        on memory in the GC, as the FreeBSD port has been doing for months
6133        now ...)
6134
61352006-09-11 21:31  gb
6136
6137        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6138        intersection.
6139
61402006-09-11 21:21  gb
6141
6142        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6143
61442006-09-11 20:10  gb
6145
6146        * level-1/l1-unicode.lisp: Character encodings contain a
6147        LITERAL-CHAR-CODE-LIMIT field.
6148
61492006-09-11 20:09  gb
6150
6151        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6152        functionality for encoded streams.
6153
61542006-09-11 20:08  gb
6155
6156        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6157
61582006-09-09 04:39  gb
6159
6160        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6161        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6162
61632006-09-09 04:21  gb
6164
6165        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6166        reasonable for ^c syntax; don't do MOD for octal.
6167
61682006-09-09 04:21  gb
6169
6170        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6171        agains boxed Unicode limit
6172
61732006-09-09 03:56  gb
6174
6175        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6176        x8664 functions, hash tables.  (PPC versions should handle hash
6177        table key movement.)
6178
61792006-09-08 22:47  gb
6180
6181        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6182        #x100.
6183
61842006-09-08 22:38  gb
6185
6186        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6187        FIXNUM->CHAR: return NIL for surrogate pairs.
6188
61892006-09-08 22:33  gb
6190
6191        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6192
61932006-09-08 22:31  gb
6194
6195        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6196        sanity-check fn/lr).
6197
61982006-09-08 18:55  gb
6199
6200        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6201        necessarily want arbitrary expressions to be compiled unsafely; do
6202        want to avoid a little type-checking sometimes.)
6203
62042006-09-08 18:52  gb
6205
6206        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6207        for values in the surrogate-pairs range.  (There are other things
6208        that it could plausibly return NIL for.)
6209
62102006-09-08 18:51  gb
6211
6212        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6213        now, just purify strings.
6214
62152006-09-08 18:48  gb
6216
6217        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6218        8), which is still useful (and exactly what it used to do.)
6219
62202006-09-08 18:47  gb
6221
6222        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6223
62242006-09-08 18:44  gb
6225
6226        * level-1/level-1.lisp: Load l1-unicode.
6227
62282006-09-08 18:44  gb
6229
6230        * level-1/l1-unicode.lisp: New file.
6231
62322006-09-07 03:50  gb
6233
6234        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6235
62362006-09-07 03:44  gb
6237
6238        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6239        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6240        attribute of the backend (may need more pure space on x86-64.)
6241
62422006-09-07 03:43  gb
6243
6244        * lisp-kernel/image.h: Bump abi version.
6245
62462006-09-07 03:43  gb
6247
6248        * level-1/version.lisp: Bump.
6249
62502006-09-07 02:58  gb
6251
6252        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6253        seems to mask synchronous signals.  Unmask them in signal handlers.
6254
62552006-09-07 02:57  gb
6256
6257        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6258        signal mask.
6259
62602006-09-07 02:56  gb
6261
6262        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6263        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6264        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6265        (char are 32 bits wide on all platforms now.)
6266
62672006-09-07 00:40  gb
6268
6269        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6270        SIGNUM_FOR_PROCESS_INTERRUPT.
6271
62722006-09-07 00:12  gb
6273
6274        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6275        box_fixnum_no_flags.
6276
62772006-09-07 00:12  gb
6278
6279        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6280        vice imul).
6281
62822006-09-06 21:18  gb
6283
6284        * compiler/X86/X8664/x8664-arch.lisp: Need
6285        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6286
62872006-09-06 18:37  gb
6288
6289        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6290        strings.
6291
62922006-09-06 18:36  gb
6293
6294        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6295        typecodes.
6296
62972006-09-06 18:36  gb
6298
6299        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6300        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6301
63022006-09-06 18:35  gb
6303
6304        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6305        contains entry for 32-bit BASE-CHAR.
6306
63072006-09-06 18:35  gb
6308
6309        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6310        extracting typecodes.
6311
63122006-09-06 18:34  gb
6313
6314        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6315        32-bit-chars.
6316
63172006-09-06 18:33  gb
6318
6319        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6320        :rcontext pseudo-register name until the target backend is in
6321        place.
6322
63232006-09-06 16:39  gb
6324
6325        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6326        stuff for x8664.
6327
63282006-09-06 16:39  gb
6329
6330        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6331        don't mix!
6332
63332006-09-06 16:38  gb
6334
6335        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6336
63372006-09-06 16:38  gb
6338
6339        * level-1/linux-files.lisp: process input/output: don't assume
6340        8-bit strings.
6341
63422006-09-06 14:42  gb
6343
6344        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6345        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6346        (since that creates confustion when cross-compiling from a
6347        non-poweropen host.)
6348
63492006-09-06 00:08  gb
6350
6351        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6352        8-bit char stuff.
6353
63542006-09-06 00:08  gb
6355
6356        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6357        here.
6358
63592006-09-05 22:49  gb
6360
6361        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6362        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6363
63642006-09-05 22:42  gb
6365
6366        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6367        of a non-simple string, understand char width issues.
6368
63692006-09-05 22:41  gb
6370
6371        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6372
63732006-09-05 22:40  gb
6374
6375        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6376        string type.
6377
63782006-09-05 22:39  gb
6379
6380        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6381
63822006-09-05 22:38  gb
6383
6384        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6385
63862006-09-05 09:13  gb
6387
6388        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6389        32-bit chars, too.
6390
63912006-09-05 09:01  gb
6392
6393        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6394        defaults to 32-bit chars.
6395
63962006-09-05 05:18  gb
6397
6398        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6399
64002006-09-05 05:18  gb
6401
6402        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6403        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6404
64052006-09-05 05:17  gb
6406
6407        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6408        for char size.
6409
64102006-09-05 05:16  gb
6411
6412        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6413        strings.
6414
64152006-09-05 05:15  gb
6416
6417        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6418        lisp_char_code; this may be more portable.
6419
64202006-09-05 05:14  gb
6421
6422        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6423
64242006-09-05 05:13  gb
6425
6426        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6427        8-bit char/strings.
6428
64292006-09-05 05:13  gb
6430
6431        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6432        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6433        the coding system in use.)
6434
64352006-09-05 05:09  gb
6436
6437        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6438        assume 8-bit strings.
6439
64402006-09-05 05:08  gb
6441
6442        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6443
64442006-09-05 05:07  gb
6445
6446        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6447        when #-target-8-bit-chars.
6448
64492006-09-05 05:06  gb
6450
6451        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6452        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6453
64542006-09-05 05:05  gb
6455
6456        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6457        :SIMPLE-STRING case with constant index.
6458
64592006-09-04 17:44  gb
6460
6461        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6462        "unsigned char", and cross fingers.
6463
64642006-09-04 17:38  gb
6465
6466        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6467        lisp_char_code type, use it when printing lisp string in the kernel
6468        debugger.
6469
64702006-09-04 17:28  gb
6471
6472        * level-1/version.lisp: Bump.
6473
64742006-09-04 17:18  gb
6475
6476        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6477        conditionalized backwards in PPC64 %INIT-MISC.
6478
64792006-09-04 17:05  gb
6480
6481        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6482        from the target arch (for bootstrapping.)
6483
64842006-09-04 17:04  gb
6485
6486        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6487        type of rdtab.ttab.
6488       
6489        Don't treat (code-char #xca) as whitespace; do treat (code-char
6490        #xa0) as whitespace.  (The former happens to be how the latter was
6491        encoded in MacRoman.)
6492       
6493        Handle U+<hex> syntax in NAME-CHAR.
6494
64952006-09-04 16:16  gb
6496
6497        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6498        and the char code with #xff to get the low byte.
6499
65002006-09-04 16:15  gb
6501
6502        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6503        and the char code with #xff or 255., not with #x255.  (Cause lots
6504        of wackiness, mostly in readtable initialization.)
6505
65062006-09-04 16:12  gb
6507
6508        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6509        u8->char (which is no more) in %CHAR-CODE.
6510
65112006-09-04 06:04  gb
6512
6513        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6514        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6515
65162006-09-04 06:03  gb
6517
6518        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6519        assertion.
6520
65212006-09-04 03:44  gb
6522
6523        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6524
65252006-09-04 03:43  gb
6526
6527        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6528        crf case of UNBOX-BASE-CHAR.
6529
65302006-09-04 02:30  gb
6531
6532        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6533        error.
6534
65352006-09-04 02:29  gb
6536
6537        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6538        size.
6539
65402006-09-04 02:26  gb
6541
6542        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6543        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6544        CHAR_SIZE_32.
6545
65462006-09-04 02:24  gb
6547
6548        * compiler/PPC/PPC32/ppc32-arch.lisp,
6549        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6550        compiler/PPC/PPC64/ppc64-arch.lisp,
6551        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6552        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6553
65542006-09-04 02:23  gb
6555
6556        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6557        32-bit characters.
6558
65592006-09-04 02:22  gb
6560
6561        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6562
65632006-09-03 16:03  gb
6564
6565        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6566        conditionalize new string types.
6567
65682006-09-03 16:03  gb
6569
6570        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6571        string element size.
6572
65732006-09-03 16:02  gb
6574
6575        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6576        level-0/l0-pred.lisp: Sketch out new string types (read-time
6577        conditionalized.)
6578
65792006-09-03 15:02  gb
6580
6581        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6582        bootstrapping.
6583
65842006-09-03 14:20  gb
6585
6586        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6587
65882006-09-03 13:22  gb
6589
6590        * compiler/: X86/X8664/x8664-backend.lisp,
6591        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6592        :target-8-bit-chars on target features.
6593
65942006-09-03 13:21  gb
6595
6596        * level-0/l0-int.lisp: Some comments/indentation.
6597
65982006-09-03 13:01  gb
6599
6600        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6601        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6602
66032006-09-02 11:24  gb
6604
6605        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6606
66072006-09-02 11:15  gb
6608
6609        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6610        a hex digit.
6611
66122006-09-02 11:11  gb
6613
6614        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6615        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6616       
6617        Don't do the whole msg_server here; just do the exc_server thing.
6618       
6619        Fix a couple of Mach exception-handling bugs; at least one more may
6620        remain.
6621
66222006-09-02 11:07  gb
6623
6624        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6625        pseudo_sigreturn.
6626       
6627        Still get spurious SIGTRAPs.
6628
66292006-09-02 11:06  gb
6630
6631        * lisp-kernel/thread_manager.c: Define some things in terms of
6632        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6633       
6634        sem_wait_forever() does repeated timed waits, since I thought that
6635        Darwin was having trouble interrpting things that waited
6636        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6637
66382006-09-02 11:03  gb
6639
6640        * lisp-kernel/Threads.h: Define some things in terms of
6641        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6642        2006, Darwin still doesn't implement enough POSIX semaphore
6643        functionality to make it possible to avoid the use of Mach
6644        semaphores.
6645
66462006-09-02 11:01  gb
6647
6648        * lib/db-io.lisp:
6649        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6650        involved.
6651
66522006-09-02 11:01  gb
6653
6654        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6655        aren't bogus objects.
6656
66572006-09-02 11:00  gb
6658
6659        * level-1/l1-streams.lisp: Try to avoid things like
6660        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6661
66622006-09-02 10:59  gb
6663
6664        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6665        FORCE-OUTPUT.
6666
66672006-09-02 10:57  gb
6668
6669        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6670        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6671       
6672        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6673        chars.
6674       
6675        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6676
66772006-09-02 10:55  gb
6678
6679        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6680        don't assume 8-bit chars.
6681
66822006-08-28 17:35  gb
6683
6684        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6685        misc_set_single_float_vector.
6686
66872006-08-28 17:01  gb
6688
6689        * xdump/faslenv.lisp: Bump max fasl version.
6690
66912006-08-28 16:48  gb
6692
6693        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6694
66952006-08-28 16:33  gb
6696
6697        * xdump/faslenv.lisp: Bump (max) fasl version.
6698
66992006-08-28 16:30  gb
6700
6701        * xdump/xfasload.lisp: xloader was missing a few new ops.
6702
67032006-08-28 05:34  gb
6704
6705        * xdump/xfasload.lisp: New string stuff here, too.
6706
67072006-08-28 05:28  gb
6708
6709        * level-0/nfasload.lisp: New string stuff.
6710
67112006-08-28 04:57  gb
6712
6713        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6714        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6715
67162006-08-28 04:57  gb
6717
6718        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6719        STREAM-READ-CHAR, since it may be faster in some cases.
6720
67212006-08-28 04:56  gb
6722
6723        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6724        (don't assume ioblock-based stream.)
6725
67262006-08-28 04:55  gb
6727
6728        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6729
67302006-08-28 04:55  gb
6731
6732        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6733         (Maybe not even cosmetic.)
6734
67352006-08-28 04:54  gb
6736
6737        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6738        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6739
67402006-08-28 04:53  gb
6741
6742        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6743
67442006-08-28 04:52  gb
6745
6746        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6747        ?  For how long will limit be 2^8 ?
6748
67492006-08-28 04:51  gb
6750
6751        * level-0/nfasload.lisp: More fasl ops.
6752
67532006-08-28 04:51  gb
6754
6755        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6756        u8-vref stuff.
6757
67582006-08-28 04:50  gb
6759
6760        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6761        not be the best way to do this.
6762
67632006-08-26 13:58  gb
6764
6765        * release-notes.txt: Updated.
6766
67672006-08-26 13:50  gb
6768
6769        * release-notes.txt: Updated.
6770
67712006-08-26 13:50  gb
6772
6773        * darwin-x86-headers64/libc/.cvsignore: Added.
6774
67752006-08-26 03:17  gb
6776
6777        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6778
67792006-08-26 03:12  gb
6780
6781        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6782        problems as always, but avoids problems with Darwin x86-64 ld64
6783        segfaulting for unknown reasons.
6784
67852006-08-26 03:11  gb
6786
6787        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6788        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6789        that we can't just return to after switching off of the alt stack.)
6790
67912006-08-26 03:08  gb
6792
6793        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6794        deciding whether or not to signal overflow.
6795
67962006-08-26 03:08  gb
6797
6798        * level-1/x86-trap-support.lisp: Need an indirection to access
6799        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6800        mcontext64.ss.
6801
68022006-08-26 03:06  gb
6803
6804        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6805        easier to step through.
6806
68072006-08-26 03:05  gb
6808
6809        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6810        in case.
6811
68122006-08-25 20:35  gb
6813
6814        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6815        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6816        REMOVE-AUTO-FLUSH-STREAM.
6817       
6818        Export them, too.
6819
68202006-08-25 20:22  gb
6821
6822        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6823        STREAM-READ-LINE.
6824
68252006-08-25 20:22  gb
6826
6827        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6828        most once but doesn't have to be the last clause.
6829
68302006-08-25 20:21  gb
6831
6832        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6833        INPUT-STREAM.
6834       
6835        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6836
68372006-08-25 20:19  gb
6838
6839        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6840        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6841        so unlock those streams with extreme prejudice before closing them.
6842
68432006-08-25 20:18  gb
6844
6845        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6846        code that assumed that interfered with handling of relative logical
6847        pathnames.
6848
68492006-08-25 20:17  gb
6850
6851        * level-1/l1-events.lisp: Rename EVENT-POLL to
6852        AUTO-FLUSH-INTERACTIVE-STREAMS.
6853       
6854        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6855        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6856        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6857       
6858        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6859       
6860        REMOVE-AUTOFLUSH-STREAM.
6861
68622006-08-25 20:13  gb
6863
6864        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6865        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6866
68672006-08-23 22:59  gb
6868
6869        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6870        SIGFPE.
6871       
6872        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6873
68742006-08-23 22:58  gb
6875
6876        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6877        pretty casual about causing spurious exceptions, so ignore them.
6878
68792006-08-23 22:57  gb
6880
6881        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6882        version, with different signals to be ignored by gdb.
6883
68842006-08-23 22:56  gb
6885
6886        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6887        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6888        Use int $0 instead.
6889
68902006-08-23 22:55  gb
6891
6892        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6893        support; may need more work.
6894
68952006-08-22 02:08  gb
6896
6897        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6898        for printing integers), since it seems to need access to pthread
6899        data (and calling print_lisp_object() from GDB might fail if %gs is
6900        pointing at the lisp TCR.)
6901
69022006-08-22 02:06  gb
6903
6904        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6905        earlier in _SPffcall, before entering foreign context.  (Need to
6906        check PPC version(s) as well.)
6907       
6908        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6909        between foreign code and lisp.
6910
69112006-08-22 02:04  gb
6912
6913        * lisp-kernel/x86-macros.s: Fix a typo.
6914
69152006-08-22 02:04  gb
6916
6917        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6918
69192006-08-22 02:03  gb
6920
6921        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6922        exception handling code.
6923       
6924        Do the DARWIN_GS_HACK things to overload %gs.
6925
69262006-08-22 02:02  gb
6927
6928        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6929        for DarwinX8664.
6930
69312006-08-22 02:01  gb
6932
6933        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6934        should really have tested WORD_SIZE.
6935       
6936        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6937        not be necessary.)
6938       
6939        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6940
69412006-08-22 01:59  gb
6942
6943        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6944        x8664.
6945       
6946        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6947
69482006-08-22 01:58  gb
6949
6950        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6951        FreeBSDX664, DarwinX8664.
6952
69532006-08-22 01:57  gb
6954
6955        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6956        lower seg1addr.
6957       
6958        Something in the (m4-generated) symbolic info in some .s files is
6959        screwy and causes ld64 to segfault; it's currently necesssary to
6960        use "strip -S" on the assembler-generated .o files.
6961
69622006-08-22 01:55  gb
6963
6964        * scripts/openmcl64: Untested changes for Darwinx8664.
6965
69662006-08-22 01:54  gb
6967
6968        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6969        xload-backend-info (compiler target is :darwinx8664, not
6970        :linuxx8664).
6971
69722006-08-22 01:53  gb
6973
6974        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6975        cross-compiling to x86 from x86.
6976
69772006-08-22 01:52  gb
6978
6979        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6980        (not :DARWINPPC-TARGET).
6981
69822006-08-22 01:50  gb
6983
6984        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6985
69862006-08-22 01:50  gb
6987
6988        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6989
69902006-08-22 01:49  gb
6991
6992        * level-1/version.lisp: Bump.
6993
69942006-08-22 01:49  gb
6995
6996        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6997        BASIC-STREAMs.
6998
69992006-08-22 01:48  gb
7000
7001        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7002        DARWIN-TARGET, not DARWINPPC-TARGET.
7003
70042006-08-22 01:47  gb
7005
7006        * level-0/l0-init.lisp: DarwinX8664 *features*.
7007
70082006-08-22 01:47  gb
7009
7010        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7011        really want to be DARWIN-TARGET.
7012
70132006-08-22 01:46  gb
7014
7015        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7016        DarwinX8664.
7017
70182006-08-22 01:45  gb
7019
7020        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7021        compiling natively.
7022       
7023        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7024
70252006-08-22 01:44  gb
7026
7027        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7028        is defined, even on x86.  Use it if not compiling natively on x86.
7029
70302006-08-20 23:59  gb
7031
7032        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7033
70342006-08-20 23:58  gb
7035
7036        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7037
70382006-08-20 23:58  gb
7039
7040        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7041        prototypes for DARWIN_GS_HACK %gs segment switching.
7042
70432006-08-20 23:57  gb
7044
7045        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7046        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7047       
7048        This isn't so bad, but doing it around every ff-call might be.
7049
70502006-08-20 23:56  gb
7051
7052        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7053
70542006-08-20 23:53  gb
7055
7056        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7057
70582006-08-20 23:51  gb
7059
7060        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7061
70622006-08-20 23:51  gb
7063
7064        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7065        also temporary.
7066
70672006-08-20 23:50  gb
7068
7069        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7070        mcontext64 in x8664 Darwin is temporary.
7071
70722006-08-20 20:35  gb
7073
7074        * library/darwinx664-syscalls.lisp: typo
7075
70762006-08-20 20:35  gb
7077
7078        * library/darwinx8664-syscalls.lisp: spell name right
7079
70802006-08-20 17:10  gb
7081
7082        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7083
70842006-08-20 17:10  gb
7085
7086        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7087        (do other things still use read-time conditionals ?)
7088
70892006-08-20 17:09  gb
7090
7091        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7092        setup syscall mask.
7093
70942006-08-20 17:08  gb
7095
7096        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7097        well.
7098
70992006-08-20 17:06  gb
7100
7101        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7102        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7103        word-size issues.)
7104
71052006-08-20 17:03  gb
7106
7107        * library/darwinppc-syscalls.lisp: Mask for PPC.
7108
71092006-08-20 17:02  gb
7110
7111        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7112        level-1/linux-files.lisp: Syscall conditionalization.
7113
71142006-08-20 17:01  gb
7115
7116        * level-1/l1-streams.lisp: Syscall conditionalization.
7117       
7118        SELECTION-INPUT-STREAM created with :sharing :lock.
7119
71202006-08-20 17:00  gb
7121
7122        * examples/objc-runtime.lisp: Fencepost in
7123        POINTER-IN-CFSTRING-SECTION-P.
7124
71252006-08-20 16:16  gb
7126
7127        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7128
71292006-08-18 09:50  gb
7130
7131        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7132        x8664.  Should do this on PPC as well, and should probably offer
7133        some backward-compatible behavior for reader.
7134
71352006-08-18 09:47  gb
7136
7137        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7138        backend a little.
7139       
7140        Explicily define lisp-context-register slot in each backend (%gs
7141        for those imolementations that follow the standard ABI, %fs for
7142        Darwin.)
7143
71442006-08-18 09:44  gb
7145
7146        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7147        necessary.
7148
71492006-08-18 09:43  gb
7150
7151        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7152        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7153        slot.
7154
71552006-08-18 09:42  gb
7156
7157        * compiler/backend.lisp: Backend now has a lisp-context-register
7158        slot.
7159
71602006-08-18 09:42  gb
7161
7162        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7163
71642006-08-18 09:40  gb
7165
7166        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7167        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7168        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7169        and play like the other children.
7170
71712006-08-18 09:29  gb
7172
7173        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7174        code from the PPC version and tweak it a little; needs more work.
7175
71762006-08-18 09:27  gb
7177
7178        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7179        conditionalization.
7180
71812006-08-18 09:25  gb
7182
7183        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7184       
7185        Generate an equate for HAVE_TLS.
7186
71872006-08-18 09:23  gb
7188
7189        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7190
71912006-08-18 09:19  gb
7192
7193        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7194        absolute jumps, prefers slower ones.
7195       
7196        Move lock prefixes to their own lines, to satisfy you-know-who.
7197       
7198        If we don't have thread-local-storage (TLS), it's hard to avoid the
7199        get_tcr() call on each calback.
7200
72012006-08-18 09:13  gb
7202
7203        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7204        that we HAVE_TLS.
7205
72062006-08-17 10:41  phil
7207
7208        * examples/FFI/:
7209        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7210        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7211        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7212        Using-basic-calls-and-types/Readme.rtf,
7213        Using-basic-calls-and-types/typetest-compile.sh,
7214        Using-basic-calls-and-types/typetest.c,
7215        Using-basic-calls-and-types/typetest.lisp: Initial version
7216
72172006-08-17 10:40  phil
7218
7219        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7220        [no log message]
7221
72222006-08-08 13:07  gb
7223
7224        * lisp-kernel/darwinx8664/Makefile: New file.
7225
72262006-08-08 13:07  gb
7227
7228        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7229
72302006-08-08 13:06  gb
7231
7232        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7233
72342006-08-08 13:05  gb
7235
7236        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7237        instructions on the same line as the locked instruction.  (Maybe
7238        there's a better way to do this, than just pretending that lock is
7239        a standalone instruction, but that lock instruction does seem to be
7240        treated as a prefix.)
7241
72422006-08-08 13:03  gb
7243
7244        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7245        dlfcn) on Darwin.
7246
72472006-08-08 13:02  gb
7248
7249        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7250        doesn't define mcontext64, but lots of other things reference it.
7251        #define it here for now, but that'll likely break when the headers
7252        are fixed.
7253
72542006-08-08 12:58  gb
7255
7256        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7257
72582006-08-08 12:58  gb
7259
7260        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7261        x8664/Darwin.
7262
72632006-07-29 08:41  gb
7264
7265        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7266         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7267        needs READ/WRITE- SEQUENCE support.
7268
72692006-07-29 07:39  gb
7270
7271        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7272        lock.  TODO: evaluate whether resources are worthwhile;  used for
7273        string-output-stream allocation and DELETE-DUPLICATES.
7274
72752006-07-29 06:27  gb
7276
7277        * library/lispequ.lisp: Resources aren't thread-private, need
7278        locks.
7279
72802006-07-29 06:26  gb
7281
7282        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7283        BASIC-STREAMs.
7284
72852006-07-29 06:26  gb
7286
7287        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7288        default.
7289
72902006-07-29 06:25  gb
7291
7292        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7293        been used in 10 or 12 years.
7294
72952006-07-29 03:40  gb
7296
7297        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7298
72992006-07-29 03:40  gb
7300
7301        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7302        for now.
7303
73042006-07-29 03:39  gb
7305
7306        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7307        makes one more slot in BASIC-FILE-STREAM.
7308
73092006-07-28 04:17  gb
7310
7311        * level-1/version.lisp: Bump.
7312
73132006-07-28 04:15  gb
7314
7315        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7316        in IOBLOCK.
7317
73182006-07-28 01:17  gb
7319
7320        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7321
73222006-07-28 01:16  gb
7323
7324        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7325
73262006-07-28 00:58  gb
7327
7328        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7329        output.
7330       
7331        (SLIME probably faces the same issue; should probably do something
7332        in the auto-flush case.  Of course, it's hard to know just what to
7333        do in that case. or at least what to do safely in that case.)
7334
73352006-07-28 00:49  gb
7336
7337        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7338        FUNDAMENTAL-FILE-STREAM.
7339
73402006-07-28 00:49  gb
7341
7342        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7343
73442006-07-28 00:48  gb
7345
7346        * library/lispequ.lisp: Need an explicit
7347        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7348
73492006-07-28 00:47  gb
7350
7351        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7352
73532006-07-25 03:48  gb
7354
7355        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7356
73572006-07-24 04:55  gb
7358
7359        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7360        BASIC-STREAMs.
7361
73622006-07-24 04:55  gb
7363
7364        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7365        appear.
7366
73672006-07-24 04:51  gb
7368
7369        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7370
73712006-07-24 02:43  gb
7372
7373        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7374        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7375        implementation of it (and BASIC-FILE-STREAM soon will be.)
7376
73772006-07-23 03:05  gb
7378
7379        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7380
73812006-07-23 03:03  gb
7382
7383        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7384        and is inlined.
7385       
7386        Some bug fixes; STREAM class no longer has slots.
7387       
7388        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7389        variants; fix read-byte botch (should vector according to
7390        element-type.)
7391
73922006-07-23 02:54  gb
7393
7394        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7395        STREAM-IOBLOCK now takes 2 required args.
7396
73972006-07-23 02:54  gb
7398
7399        * level-1/version.lisp: Bump.
7400
74012006-07-23 02:53  gb
7402
7403        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7404        like.
7405
74062006-07-23 02:53  gb
7407
7408        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7409       
7410        Likewise WITH-EAGAIN.
7411
74122006-07-23 01:12  gb
7413
7414        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7415        l1-sockets.lisp: Fix a few botches.
7416       
7417        :private arg to stream creation primitives replaced with :sharing,
7418        which can have values:
7419       
7420         :private (the default; stream can only be accessed by the creating
7421        thread)
7422         :lock  (the old, often slow, default); most accesses to stream
7423        involve locking
7424         :nil or :external (stream code doesn't enforce exclusion).
7425
74262006-07-22 23:57  gb
7427
7428        * level-1/l1-streams.lisp: Bootstrapping stuff.
7429       
7430        Move along, nothing to see here.
7431
74322006-07-20 03:43  gb
7433
7434        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7435        l1-sysio.lisp: First (rough) cut at making streams "private"
7436        (effectively always locked by the "owning" thread) to reduce some
7437        locking overhead.  More to come, some of which will be a little
7438        tricky to bootstrap.
7439
74402006-07-20 01:09  gb
7441
7442        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7443        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7444        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7445
74462006-07-20 01:09  gb
7447
7448        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7449
74502006-07-20 01:08  gb
7451
7452        * level-1/version.lisp: Bump.
7453
74542006-07-20 01:07  gb
7455
7456        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7457         A little tricky to bootstrap.
7458
74592006-07-20 01:05  gb
7460
7461        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7462        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7463        (istruct-based) lisp-thread accessors.
7464
74652006-07-20 01:02  gb
7466
7467        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7468        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7469        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7470        BASIC-STREAM.
7471
74722006-07-15 15:02  gb
7473
7474        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7475        IMPOSSIBLE-NUMBER condition :REPORT method.
7476
74772006-07-15 15:00  gb
7478
7479        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7480        simple vector operations unless we're sure that the vector is a
7481        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7482        leaping into the simple-typed-vector case when the element-type was
7483        known but the vector wasn't known to be SIMPLE.
7484
74852006-07-14 05:57  gb
7486
7487        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7488
74892006-07-13 16:01  gb
7490
7491        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7492        know about FIXNUM arrays.
7493
74942006-07-11 14:23  gb
7495
7496        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7497        (2-address instructions) in natural logical, arithmetic operations.
7498
74992006-07-05 02:38  gb
7500
7501        * release-notes.txt: Update.
7502
75032006-07-05 02:22  gb
7504
7505        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7506        its removal needs to be better publicized.
7507
75082006-07-04 22:24  gb
7509
7510        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7511        PROGRAM arg to RUN-PROGRAM.
7512
75132006-07-04 22:23  gb
7514
7515        * level-1/version.lisp: Bump.
7516
75172006-06-29 02:11  gb
7518
7519        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7520        image-abi-version.
7521
75222006-06-28 05:24  gb
7523
7524        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7525        pointer on DarwinPPC32 (at the very least, that platform's
7526        xFindSymbol gets confused by anything but a null pointer/global
7527        lookup.)
7528
75292006-06-28 05:09  gb
7530
7531        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7532        "Alpha", which may be a bit generous (pretty regular deadlock,
7533        random thread creation errors, other bugs.)
7534
75352006-06-28 05:07  gb
7536
7537        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7538        x86-64 version.
7539
75402006-06-28 04:04  gb
7541
7542        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7543        identifying the cause of XMM FP exceptions.  Try to do that by
7544        looking at MXCSR bits.
7545
75462006-06-28 04:03  gb
7547
7548        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7549        indicate error return.
7550
75512006-06-28 04:03  gb
7552
7553        * level-1/: l1-sockets.lisp, linux-files.lisp,
7554        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7555
75562006-06-28 04:02  gb
7557
7558        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7559        breakpoint.
7560
75612006-06-27 18:08  gb
7562
7563        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7564
75652006-06-27 17:30  gb
7566
7567        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7568
75692006-06-27 17:27  gb
7570
7571        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7572        portable; possibly break it completely ...
7573
75742006-06-27 08:55  gb
7575
7576        * lisp-kernel/x86-exceptions.c: map the altstack
7577        read/write/execute.
7578
75792006-06-27 08:54  gb
7580
7581        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7582        FreeBSD.
7583
75842006-06-27 08:54  gb
7585
7586        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7587        <pthread_np.h>
7588
75892006-06-27 08:53  gb
7590
7591        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7592        :freebsdx8664.
7593
75942006-06-27 08:53  gb
7595
7596        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7597        testing.)
7598       
7599        Don't conditionalize as much code. Indices/offsets are
7600        platform-specific, but accessors defiend in terms of them needn't
7601        be.
7602
76032006-06-27 08:51  gb
7604
7605        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7606        comment.)
7607
76082006-06-27 08:50  gb
7609
7610        * level-0/l0-init.lisp: More freebsd x8664 features.
7611
76122006-06-27 08:50  gb
7613
7614        * scripts/openmcl64: Update for FreeBSD/amd64.
7615
76162006-06-27 08:47  gb
7617
7618        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7619        :freebsdx8664-target as a target-specific-feature.
7620
76212006-06-27 05:05  gb
7622
7623        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7624        freebsd8664/elf_x86_64.x: directory rename
7625
76262006-06-27 04:59  gb
7627
7628        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7629
76302006-06-27 04:47  gb
7631
7632        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7633
76342006-06-27 04:46  gb
7635
7636        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7637        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7638
76392006-06-27 04:45  gb
7640
7641        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7642       
7643        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7644
76452006-06-27 04:44  gb
7646
7647        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7648        suspend_resume_handler.
7649
76502006-06-27 04:44  gb
7651
7652        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7653        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7654
76552006-06-27 04:43  gb
7656
7657        * lisp-kernel/imports.s: Don't import metering-control; do import
7658        get_r_debug().
7659
76602006-06-27 04:42  gb
7661
7662        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7663        word-size stuff (here and in other versions.)
7664
76652006-06-27 04:42  gb
7666
7667        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7668        FreeBSD.
7669
76702006-06-27 04:39  gb
7671
7672        * lib/foreign-types.lisp: Signed char nonsense (should use target
7673        ftd, not reader macros here.)
7674
76752006-06-27 04:38  gb
7676
7677        * lib/compile-ccl.lisp: Some FreeBSD support.
7678
76792006-06-27 04:36  gb
7680
7681        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7682        Some FreeBSD changes/conditionalization. Maybe not enough.
7683
76842006-06-27 04:35  gb
7685
7686        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7687
76882006-06-27 04:34  gb
7689
7690        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7691
76922006-06-27 04:34  gb
7693
7694        * level-0/l0-io.lisp: FreeBSD syscalls.
7695
76962006-06-27 04:33  gb
7697
7698        * level-0/l0-init.lisp: Some FreeBSD features.
7699
77002006-06-27 04:33  gb
7701
7702        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7703        changes.
7704       
7705        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7706        and test.
7707       
7708        Now depends on an imported lisp-kernel function on ELF platforms
7709        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7710
77112006-06-27 04:30  gb
7712
7713        * level-0/.cvsignore: Ignore *fsl.
7714
77152006-06-27 04:29  gb
7716
7717        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7718        in freebsd backend.
7719
77202006-06-27 04:27  gb
7721
7722        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7723        metering-control; do import get-r-debug (for Elf shared libraries.)
7724       
7725        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7726
77272006-06-27 04:26  gb
7728
7729        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7730        Don't import metering-control; do import get-r-debug (for Elf
7731        shared libraries.)
7732
77332006-06-27 04:26  gb
7734
7735        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7736
77372006-06-26 16:38  gb
7738
7739        * compiler/X86/X8664/x8664-vinsns.lisp:
7740        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7741        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7742        constant #xffff000000000000 come from ?
7743
77442006-06-26 16:35  gb
7745
7746        * compiler/X86/x862.lisp: Fix some indentation.
7747
77482006-06-25 20:32  gb
7749
7750        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7751        change initialiation of x8664 foreign-type stuff.
7752
77532006-06-25 20:31  gb
7754
7755        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7756
77572006-06-23 19:52  gb
7758
7759        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7760        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7761
77622006-06-23 19:28  gb
7763
7764        * release-notes.txt: Update some.
7765
77662006-06-23 19:11  gb
7767
7768        * examples/gtk2-clock.lisp: New file.
7769
77702006-06-23 18:56  gb
7771
7772        * level-1/version.lisp: Bump.
7773
77742006-06-23 18:52  gb
7775
7776        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7777
77782006-06-22 13:39  gb
7779
7780        * x86-headers64/gnome2/C/.cvsignore: new
7781
77822006-06-22 13:36  gb
7783
7784        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7785
77862006-06-22 13:33  gb
7787
7788        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7789        gnome2/.cvsignore: new
7790
77912006-06-22 13:30  gb
7792
7793        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7794
77952006-06-22 13:28  gb
7796
7797        * level-1/version.lisp: Bump.
7798
77992006-06-21 15:15  gb
7800
7801        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7802        ppc-spentry.s: Define new string subtags; handle them in ppc64
7803        misc_ref/misc_set.
7804
78052006-06-21 15:14  gb
7806
7807        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7808        versions) to handle FIXNUM vectors, new UCS4 strings.
7809
78102006-06-21 15:14  gb
7811
7812        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7813        versions) to handle FIXNUM vectors, new UCS4 strings.
7814
78152006-06-21 15:12  gb
7816
7817        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7818        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7819        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7820
78212006-06-21 15:11  gb
7822
7823        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7824
78252006-06-21 15:11  gb
7826
7827        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7828        wasn't updated with the introduction of fixnum vectors, (unused)
7829        UCS4 "new"strings.
7830
78312006-06-16 03:50  gb
7832
7833        * examples/objc-support.lisp: Re-compute static NSString info after
7834        opening an extension framework.
7835
78362006-06-16 03:45  gb
7837
7838        * examples/webkit.lisp: Use new functions for augmenting
7839        interfaces, loading framework.
7840
78412006-06-16 03:43  gb
7842
7843        * examples/objc-runtime.lisp: Juggle things around so that add-on
7844        framework bundles get loaded on appication re-launch.
7845       
7846        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7847        since (a) it may not be there, or may not be where we can find it
7848        yet and (b) it's probably more reasonable to do that than it would
7849        be to teach CLOS about classes that're "discovered" when the
7850        appication's launched on a newer OS release than it was saved on.
7851
78522006-06-16 03:39  gb
7853
7854        * examples/cocoa-application.lisp: Touch tha application bundle
7855        before saving an image into it.  That -may- convincve
7856        LaunchServices to do the right thing.
7857
78582006-06-16 03:38  gb
7859
7860        * examples/objc-support.lisp: Reload any addon/framework bundles
7861        that had been loaded before the image was saved when starting a
7862        bundled application.
7863       
7864        Juggle things around, so that that works (need to be able to use
7865        low-level bridge features early.)
7866
78672006-06-16 03:36  gb
7868
7869        * lib/db-io.lisp: Disable the #? reader macro.
7870
78712006-06-14 15:42  gb
7872
7873        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7874        lfun-bits.
7875
78762006-06-12 20:24  gb
7877
7878        * lib/ppc-backtrace.lisp: PPC version of
7879        %find-register-argument-value had the same sort of fencepost as the
7880        x86-64 version had a few days ago.
7881
78822006-06-10 23:52  gb
7883
7884        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7885        its GENERIC-FUNCTION-LAMBDA-LIST.
7886
78872006-06-10 23:51  gb
7888
7889        * level-1/l1-clos.lisp: Give reader/writer method args more
7890        descriptive names. (Barely more descriptive ...)
7891
78922006-06-10 19:25  gb
7893
7894        * level-1/l1-clos-boot.lisp: Arrgh.  In
7895        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7896        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7897        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7898       
7899        This was keeping non-standard instances - like ObjC classes and
7900        metaclasses - from having some of their slots initialized
7901        correctly.
7902
79032006-06-10 19:22  gb
7904
7905        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7906        objc-metaclass: don't die if the class is unnamed (makes it easier
7907        to print classes for debugging during initialization.)
7908
79092006-06-10 13:05  gb
7910
7911        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7912        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7913
79142006-06-08 05:01  gb
7915
7916        * release-notes.txt: Update a bit.
7917
79182006-06-08 03:56  gb
7919
7920        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7921        image-abi-version.
7922
79232006-06-08 03:46  gb
7924
7925        * xdump/faslenv.lisp: Bump (min) fasl version.
7926
79272006-06-08 03:35  gb
7928
7929        * lib/nfcomp.lisp: Bump (current) fasl-version.
7930
79312006-06-08 03:28  gb
7932
7933        * lisp-kernel/linuxx8664/Makefile: -O2.
7934
79352006-06-08 03:26  gb
7936
7937        * xdump/faslenv.lisp: Bump (max) fasl version.
7938
79392006-06-08 03:18  gb
7940
7941        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7942        doubt and claim that it's a beta.
7943
79442006-06-08 03:18  gb
7945
7946        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7947
79482006-06-08 03:17  gb
7949
7950        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7951        options; enable -O2.
7952
79532006-06-08 02:55  gb
7954
7955        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7956        Handle suspend (and maybe someday resume, again) signals on the
7957        altstack, since we don't really want a signal context in the middle
7958        of the tagged lisp stack ...
7959
79602006-06-08 02:52  gb
7961
7962        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7963        PLATFORM-exceptions.c; some constants/prototypes moved to
7964        Threads.h.
7965
79662006-06-08 02:51  gb
7967
7968        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7969        via install_signal_handler(); thread_signal_setup() moved here, to
7970        do that installation.
7971
79722006-06-08 02:50  gb
7973
7974        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7975       
7976        Don't call (or define) prepare_for_the_worst(), which is kind of
7977        too bad ...
7978
79792006-06-08 02:49  gb
7980
7981        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7982
79832006-06-08 01:11  gb
7984
7985        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7986        let OPTIMIZE proclamations persist beyond the LOAD.
7987
79882006-06-07 21:45  gb
7989
7990        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7991
79922006-06-07 21:38  gb
7993
7994        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7995        MMX regs.  Do maintain them in TCR.
7996
79972006-06-07 21:37  gb
7998
7999        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8000        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8001        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8002
80032006-06-07 21:34  gb
8004
8005        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8006
80072006-06-07 21:33  gb
8008
8009        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8010        %stack_temp.
8011
80122006-06-07 21:32  gb
8013
8014        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8015
80162006-06-07 21:30  gb
8017
8018        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8019        now.
8020
80212006-06-07 21:30  gb
8022
8023        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8024        (since it no longer exists ...).  Use %stack-temp in some cases.
8025
80262006-06-07 21:29  gb
8027
8028        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8029        %stack-temp is a symbolic name for an MMX register that can be used
8030        for (e.g.) linking frames on the temp/foreign stacks (or for any
8031        other purpose ...)
8032
80332006-06-07 15:29  gb
8034
8035        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8036        tcr.next_tsp in sync with %next_tsp Check to ensure that
8037        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8038        allocating on the temp stack.  (This will soon change, so that %tsp
8039        and %next_tsp will not be canonical and the tcr fields are, then
8040        will change so that %tsp and %next_tsp will cease to exist.)
8041
80422006-06-07 15:25  gb
8043
8044        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8045
80462006-06-07 15:25  gb
8047
8048        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8049        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8050        a temporary.
8051
80522006-06-07 15:23  gb
8053
8054        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8055        don't need FP regs for this.  (They're sometimes invalid and
8056        sometimes missing, which is the point of recent changes.)
8057
80582006-06-07 15:21  gb
8059
8060        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8061        to %Rnext_tsp to avoid potential m4 lossage.
8062
80632006-06-07 15:20  gb
8064
8065        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8066
80672006-06-07 15:20  gb
8068
8069        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8070
80712006-06-07 15:19  gb
8072
8073        * level-1/version.lisp: Bump.
8074
80752006-06-07 15:19  gb
8076
8077        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8078
80792006-06-07 15:18  gb
8080
8081        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8082        foreign-sp register (though some code still uses %mm5 as a
8083        temporary, the "canonical" foreign SP is maintained in the TCR.)
8084
80852006-06-07 04:52  gb
8086
8087        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8088        frame, get the foreign SP out of the TCR.
8089
80902006-06-07 04:52  gb
8091
8092        * compiler/X86/X8664/x8664-vinsns.lisp,
8093        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8094        maintain the foreign sp in both the TCR and the MMX register, but
8095        consider the TCR version to be canonical.
8096
80972006-06-07 02:46  gb
8098
8099        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8100        %tsp MMX register doesn't match the value in the tcr, trap.
8101        Likewise for %foreign-sp.
8102
81032006-06-07 01:29  gb
8104
8105        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8106        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8107        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8108       
8109        (The idea is to keep the temp/foreign stack pointers in the tcr and
8110        only use the MMX registers as temporaries, since it seems that
8111        handlers for asynchronous signals can't count on the MMX register
8112        values in the signal context being correct.  This seems to either
8113        be a Linux kernel bug or ill-considered if it's intentional
8114        behavior, but it seems better to work around it this way.)
8115       
8116        This is just an early step in bootstrapping that change; it's being
8117        checked into CVS so that it doesn't get lost (and so that I can
8118        recover to this point if/when I hose things on a later step.)
8119
81202006-06-07 01:24  gb
8121
8122        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8123        tcr.
8124
81252006-06-07 01:22  gb
8126
8127        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8128        next_tsp slot to the tcr.
8129
81302006-06-06 04:25  gb
8131
8132        * lib/ppc-metering.lisp: no hope
8133
81342006-06-06 04:22  gb
8135
8136        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8137        frame (cfp argument) could be an exception callback frame (xcf-p
8138        may be true of it), in which case the saved register value is in
8139        the xcf.xp context.  (Basically, this means look at the first frame
8140        if it's an xcf, otherwise skip it and start with the child.)
8141
81422006-06-06 01:48  gb
8143
8144        * compiler/X86/x86-lapmacros.lisp,
8145        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8146        Using imul to box fixnums is smaller and seems to be faster than
8147        using lea with a scale factor.
8148
81492006-06-05 23:56  gb
8150
8151        * lisp-kernel/thread_manager.c: I don't think that
8152        suspend_resume_handler wants to have suspend signals unmasked, does
8153        it ?
8154
81552006-06-05 12:43  gb
8156
8157        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8158
81592006-06-03 03:11  gb
8160
8161        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8162        last catch frame, do skip others (test was backwards.  As it
8163        probably had been in the single-value case at one point.)
8164
81652006-06-02 03:48  gb
8166
8167        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8168        *terminal-io*; do print it to *trace-output*.
8169
81702006-06-01 20:20  gb
8171
8172        * level-0/l0-array.lisp: There's a T in subtag.
8173
81742006-06-01 20:17  gb
8175
8176        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8177       
8178        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8179       
8180        correctly.
8181
81822006-06-01 20:16  gb
8183
8184        * compiler/nx0.lisp: Defvars for global optimization quantities
8185        moved to level-0.
8186
81872006-06-01 20:15  gb
8188
8189        * level-1/l1-files.lisp: Bind the variables which hold global
8190        compiler optimization quantities, since people persist in doing
8191        things like:
8192       
8193        (declaim (optimize
8194        <something-that-they-probably-think-has-local-effects>))
8195       
8196        without bothering to use EVAL-WHEN or otherwise thinking very
8197        clearly.
8198       
8199        Note that this means that anyone who wanted such a declamation to
8200        have persistent global effects is now SOL.  Blame whoever wrote
8201        (for instance) clx/glx.lisp.
8202
82032006-06-01 20:11  gb
8204
8205        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8206        be referenced early in the cold load.
8207
82082006-06-01 13:13  gb
8209
8210        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8211        pointer to ENCODED-GPR-LISP if we have to get the register value
8212        from an exception frame.
8213
82142006-05-30 19:27  gwking
8215
8216        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8217        1.98)
8218
82192006-05-30 17:12  gb
8220
8221        * level-1/version.lisp: bump again.
8222
82232006-05-30 16:31  gb
8224
8225        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8226        ensure that tcr.xframe is updated from the catch frame (a) in all
8227        execution paths and (b) before RSP is updated.
8228
82292006-05-30 16:30  gb
8230
8231        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8232        vectors.
8233
82342006-05-30 16:29  gb
8235
8236        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8237
82382006-05-30 16:29  gb
8239
8240        * release-notes.txt: Update some more ...
8241
82422006-05-30 16:23  gb
8243
8244        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8245        Apparently.
8246
82472006-05-30 16:15  gb
8248
8249        * release-notes.txt: updated
8250
82512006-05-30 01:58  gb
8252
8253        * level-1/version.lisp: Bump.
8254
82552006-05-30 01:48  gb
8256
8257        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8258        made copies of the signal context and siginfo on the foreign stack,
8259        don't pass the originals to interrupt_handler().
8260       
8261        (altstack_interrupt_handler() looks suspiciously like
8262        altstack_signal_handler(), which probably had the same bug a few
8263        months ago ...)
8264       
8265        Since the alternate signal stack (as we use it) isn't reentrant,
8266        the next signal (perhaps a suspend signal) overwrote the context.
8267        Which is one reason to have made a copy in the first place ...
8268
82692006-05-30 01:43  gb
8270
8271        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8272        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8273        timeout is a good idea here, make sure that the timeout isn't
8274        fooled by #$EINTR.
8275
82762006-05-30 01:39  gb
8277
8278        * level-1/linux-files.lisp: Rename the old
8279        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8280        since it basically waits indefinitely.
8281       
8282        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8283        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8284        a "timed wait" that handles interruptions, etc. when the caller
8285        just has a "raw" (native) semaphore.
8286       
8287        Change callers, endure warnings.  New binaries soon.
8288
82892006-05-30 01:36  gb
8290
8291        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8292        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8293
82942006-05-29 22:34  gb
8295
8296        * lisp-kernel/x86-exceptions.c: The
8297        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8298        too small ...
8299
83002006-05-29 14:03  gb
8301
8302        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8303        syscall-based getcwd (it doesn't work as it once did/is documented
8304        to on linuxx8664); use the library function on all platforms.
8305
83062006-05-29 14:02  gb
8307
8308        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8309        processing interrupt.
8310
83112006-05-28 17:01  gb
8312
8313        * lisp-kernel/ppc-exceptions.c: If we handle a
8314        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8315       
8316        Back out of the hack that tried to work around a Darwin bug (FP
8317        exception flags were cleared in the MSR after a thread had been
8318        interrupted via pthread_kill()), since the fix seems not to be
8319        GC-safe.
8320       
8321        Add some debugging code to print when the exception lock is
8322        acquired/released.
8323
83242006-05-28 01:10  gb
8325
8326        * level-1/solaris-files.lisp: long gone
8327
83282006-05-23 20:25  gb
8329
8330        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8331
83322006-05-22 22:59  gb
8333
8334        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8335        C/.cvsignore: New file.
8336
83372006-05-22 22:57  gb
8338
8339        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8340        thread to suspend itself.
8341
83422006-05-22 22:57  gb
8343
8344        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8345        SINGLE-FLOAT constants.
8346       
8347        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8348        64-bit arg word, regardless of whether they're also passed in
8349        f1-f13 as well.
8350
83512006-05-22 22:55  gb
8352
8353        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8354        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8355        64-bit word.
8356
83572006-05-22 22:54  gb
8358
8359        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8360        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8361
83622006-05-22 22:53  gb
8363
8364        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8365        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8366        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8367        access them.
8368
83692006-05-22 03:53  gb
8370
8371        * level-1/version.lisp: Bump.
8372
83732006-05-22 03:32  gb
8374
8375        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8376
83772006-05-22 03:31  gb
8378
8379        * compiler/X86/x862.lisp: Numeric contagion on binops,
8380        fixnum->float.
8381
83822006-05-22 03:29  gb
8383
8384        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8385        well.
8386
83872006-05-22 03:28  gb
8388
8389        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8390        earlier when creating a stack frame inline.  Doesn't seem to affect
8391        latency much.
8392
83932006-05-22 03:27  gb
8394
8395        * compiler/X86/x862.lisp: Comment formatting on the first line of
8396        the file.
8397
83982006-05-22 03:26  gb
8399
8400        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8401        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8402
84032006-05-21 07:34  gb
8404
8405        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8406
84072006-05-21 07:32  gb
8408
8409        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8410        numeric-contagion stuff for arithmetic ops.
8411
84122006-05-21 07:31  gb
8413
8414        * compiler/nx1.lisp: Use div2 for /-2.
8415
84162006-05-21 07:31  gb
8417
8418        * compiler/nx0.lisp: Binop numeric contagion.
8419
84202006-05-21 06:49  gb
8421
8422        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8423
84242006-05-21 06:49  gb
8425
8426        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8427        weird, just wrong.
8428
84292006-05-21 06:17  gb
8430
8431        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8432        SIMPLE-FIXNUM-VECTORs.
8433
84342006-05-21 06:16  gb
8435
8436        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8437        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8438
84392006-05-21 06:16  gb
8440
8441        * compiler/PPC/PPC32/ppc32-arch.lisp,
8442        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8443        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8444        vector stuff.
8445
84462006-05-21 06:15  gb
8447
8448        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8449       
8450        Fixnum vector vref/vset.
8451
84522006-05-21 06:15  gb
8453
8454        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8455        %fixnum-to-double.
8456
84572006-05-21 06:14  gb
8458
8459        * compiler/nx0.lisp: More operator result types.
8460
84612006-05-21 04:35  gb
8462
8463        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8464        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8465        specialized FIXNUM array-element-type into type system, CLOS.
8466        (Knock wood.)
8467
84682006-05-21 04:34  gb
8469
8470        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8471        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8472
84732006-05-21 04:33  gb
8474
8475        * compiler/X86/X8664/x8664-arch.lisp,
8476        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8477        subtag for :fixnum-vector.
8478
84792006-05-21 04:32  gb
8480
8481        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8482        indices correctly.
8483       
8484        64-bit vset, vref: handle :FIXNUM-VECTOR.
8485
84862006-05-21 00:22  gb
8487
8488        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8489
84902006-05-20 18:13  gb
8491
8492        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8493        stack args) without restoring/re-saving NVRs.
8494
84952006-05-19 15:07  gb
8496
8497        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8498        completion semaphore (when :WAIT is true) happens inside an
8499        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8500        interrupts.
8501
85022006-05-19 15:06  gb
8503
8504        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8505        for SEMAPHORE.
8506
85072006-05-19 12:23  gwking
8508
8509        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8510        Also changed it so that it displays all items before trying to get
8511        an answer.
8512
85132006-05-19 12:00  gwking
8514
8515        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8516
85172006-05-19 11:57  gwking
8518
8519        * .cvsignore: The *fsl wasn't cutting it for me...
8520
85212006-05-19 11:50  gb
8522
8523        * level-1/version.lisp: Bump.
8524
85252006-05-19 11:49  gb
8526
8527        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8528        syscall definitions so that it can be moused on.
8529
85302006-05-19 11:48  gb
8531
8532        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8533        .SPeabi-syscall -> .SPsyscall.
8534
85352006-05-19 11:45  gb
8536
8537        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8538        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8539        does indeed burn cache lines, but going out of line isn't cheap
8540        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8541        are in fact fixnums and no overflow is involved - seems to be about
8542        2X faster when inlined this way.  Not sure if that'll be the case
8543        on PPC.)
8544
85452006-05-19 11:40  gb
8546
8547        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8548        stuff.
8549
85502006-05-18 14:47  gb
8551
8552        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8553        in all places that do so ...), update tcr.xframe from
8554        catch_frame.xframe on all execution paths (in particular, do so
8555        before SP is restored from the catch_frame, since a tcr.xframe
8556        "beyond" SP is clearly bogus.)
8557
85582006-05-18 02:34  gb
8559
8560        * level-1/version.lisp: Bump.
8561
85622006-05-17 23:12  gb
8563
8564        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8565        for PPC, too.
8566
85672006-05-17 22:53  gb
8568
8569        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8570        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8571        if any unmasked exceptions were raised before even calling this ...
8572
85732006-05-17 22:51  gb
8574
8575        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8576        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8577
85782006-05-17 22:50  gb
8579
8580        * compiler/X86/x862.lisp: Work harder to find acode types in some
8581        cases.
8582
85832006-05-17 22:50  gb
8584
8585        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8586        registers in OP-REG.
8587       
8588        Don't want to use RET very often if at all, but disassembler should
8589        treat as as a :JUMP.
8590
85912006-05-17 22:48  gb
8592
8593        * compiler/nxenv.lisp: MUL2, DIV2.
8594
85952006-05-17 22:48  gb
8596
8597        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8598        type-inferencing (or, more accurately, paying a little more
8599        attention here and there.)
8600
86012006-05-12 20:40  gwking
8602
8603        * examples/addressbook.lisp: added examples/addressbook.lisp
8604
86052006-05-11 18:42  gb
8606
8607        * level-1/l1-application.lisp: Stop processing command-line
8608        arguments when "--" is encountered; anything after that "--" is
8609        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8610
86112006-05-11 18:42  gb
8612
8613        * lib/ccl-export-syms.lisp: Export command-line stuff
8614
86152006-05-11 18:40  gb
8616
8617        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8618        method for LOCKs.
8619
86202006-05-11 18:39  gb
8621
8622        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8623        are base-strings (and always have been in OpenMCL.)
8624
86252006-05-11 18:37  gb
8626
8627        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8628
86292006-05-11 08:11  gwking
8630
8631        * lib/db-io.lisp: Added a check that the directory exists to
8632        fid-open-output in order to make it clearer what is wrong when one
8633        is unable to rebuild interface files because they are trying to do
8634        so in a place without FFI files to read!
8635
86362006-05-11 05:14  gb
8637
8638        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8639        Bump lisp-implementation-version, image-abi-version.
8640
86412006-05-11 05:04  gb
8642
8643        * xdump/faslenv.lisp: Bump (min) fasl version.
8644
86452006-05-11 04:52  gb
8646
8647        * lib/nfcomp.lisp: Bump (current) FASL version.
8648
86492006-05-11 04:52  gb
8650
8651        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8652        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8653
86542006-05-11 04:35  gb
8655
8656        * xdump/faslenv.lisp: Bump (max) fasl version.
8657
86582006-05-11 04:32  gb
8659
8660        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8661        target-specific feature.
8662
86632006-05-11 03:35  gb
8664
8665        * compiler/PPC/PPC32/ppc32-arch.lisp,
8666        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8667        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8668        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8669        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8670        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8671        typecodes around: get rid of the (unused) old 16-bit string; add an
8672        (as yet unused) UCS-4 string type.
8673       
8674        These changes generally involve cross-compilation (or some very
8675        tricky bootstrapping that I didn't attempt)  FASL versions and
8676        kernel ABI versions will need to change, and new binaries will be
8677        made available soon.
8678
86792006-05-10 20:20  gb
8680
8681        * compiler/PPC/ppc-lapmacros.lisp,
8682        compiler/PPC/PPC32/ppc32-arch.lisp,
8683        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8684        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8685        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8686        8-bit) character code is stored in the #x0000xx00 byte of a
8687        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8688        bootstrap natively (which is why I was trying to make ppc64->ppc32
8689        cross-compilation work.)
8690       
8691        Change related macros/visnsns as well.
8692
86932006-05-10 19:00  gb
8694
8695        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8696        think that this is just hard to do right the way that it's being
8697        done.
8698
86992006-05-10 18:59  gb
8700
8701        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8702        when cross-compiling (because word-size differences aren't handled
8703        correctly by macros.)  Until the macros are fixed, don't even try
8704        ...
8705
87062006-05-10 18:58  gb
8707
8708        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8709        target::target-most-positive-fixnum (not the host's
8710        MOST-POSITIVE-FIXNUM).
8711
87122006-05-10 18:57  gb
8713
8714        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8715        few places.
8716
87172006-05-10 18:56  gb
8718
8719        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8720
87212006-05-10 18:55  gb
8722
8723        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8724        differences between host and target types, but try to turn
8725        references to FIXNUM to the appropriate target-specific type.
8726
87272006-05-09 21:01  gb
8728
8729        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8730        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8731        around to check the high bits of the char code, but all chars have
8732        been base-chars for several years now ...
8733       
8734        UNBOX-CHARACTER was unused.
8735       
8736        (This is the first step of what may be several bootstrapping steps
8737        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8738        easily-accessed char-code bits on PPC32.)
8739
87402006-05-09 11:48  gb
8741
8742        * lisp-kernel/xlbt.c: No psn in cs_area.
8743
87442006-05-09 02:42  gb
8745
8746        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8747        to mark_simple_area_range().
8748
87492006-05-09 02:33  gb
8750
8751        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8752        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8753
87542006-05-09 02:25  gb
8755
8756        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8757        the containing TCR, to make low-level debugging a bit easier.
8758
87592006-05-09 02:25  gb
8760
8761        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8762        and debugging printfs.
8763
87642006-05-09 02:24  gb
8765
8766        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8767        extra (signed_natural *) arg, for allocptr displacement.
8768
87692006-05-09 02:23  gb
8770
8771        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8772       
8773        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8774        regs/ saved TCR fields.  The general idea is that the after they
8775        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8776        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8777        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8778        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8779       
8780        On an interrupt, the caller needs to pass in a signed_natural * to
8781        pick up the allocptr displacement (if consing was interrupted at
8782        the alloc trap); the interrupt handler uses this value to fix up
8783        alloptr when it returns if consing was interrupted.
8784       
8785        This is all pretty clearly right, but something still goes wrong
8786        under some combination of high thread stress, frequent allocation,
8787        and blocking ff-calls.
8788
87892006-05-09 02:17  gb
8790
8791        * lisp-kernel/plbt.c: No psn currently available.
8792
87932006-05-09 02:16  gb
8794
8795        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8796        where it may come in handy ...
8797
87982006-05-09 02:16  gb
8799
8800        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8801        arg.
8802
88032006-05-09 02:13  gb
8804
8805        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8806
88072006-05-09 02:12  gb
8808
8809        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8810        Restore it.
8811
88122006-05-09 02:12  gb
8813
8814        * level-0/l0-error.lisp, library/lispequ.lisp,
8815        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8816        recycle $XNOCDR.
8817
88182006-05-09 02:11  gb
8819
8820        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8821        target-specific.
8822
88232006-05-09 02:11  gb
8824
8825        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8826        target-specific.
8827
88282006-05-09 00:40  gb
8829
8830        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8831        here.
8832
88332006-05-09 00:39  gb
8834
8835        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8836        x8664.
8837
88382006-05-09 00:39  gb
8839
8840        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8841        stuff up to l1-lisp-threads.lisp.
8842
88432006-05-08 22:58  gb
8844
8845        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8846        handle array and vector headers.
8847
88482006-05-08 22:57  gb
8849
8850        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8851        of which should ever happen) with the kernel.
8852
88532006-05-08 22:56  gb
8854
8855        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8856        the TCR either.
8857
88582006-05-08 22:55  gb
8859
8860        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8861
88622006-05-08 22:55  gb
8863
8864        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8865        $xsetbadvec.
8866
88672006-05-08 03:26  gb
8868
8869        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8870        flags are set to the result of decrementing %nargs at the end of
8871        the loop.
8872
88732006-05-08 03:25  gb
8874
8875        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8876        wants a list of condition args, not a single arg.
8877
88782006-05-08 03:24  gb
8879
8880        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8881        CS-AREA.
8882
88832006-05-08 03:23  gb
8884
8885        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8886        uuo_error_udf, not as a type error.
8887
88882006-05-07 16:50  gb
8889
8890        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8891        slots in a long time (they probably haven't -needed- them in even
8892        longer; I think that this had to do with the old partial MOP.)
8893        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8894        accessor in STANDARD-OBJECT-SETF-LINE-N.
8895
88962006-05-07 04:39  gb
8897
8898        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8899        file.
8900
89012006-05-07 04:34  gb
8902
8903        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8904        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8905        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8906        if code that wants both locks isn't careful to try to obtain them
8907        in some canonical order.)
8908
89092006-05-07 04:29  gb
8910
8911        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8912
89132006-05-07 04:29  gb
8914
8915        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8916
89172006-05-07 04:28  gb
8918
8919        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8920        xFindSymbol/dlsym returns 0 on x8664.
8921
89222006-05-07 04:27  gb
8923
8924        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8925        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8926        I'd mistakenly decided that it was faster to go through memory than
8927        to use these instructions.  It seems to actually be substantially
8928        slower, as one would expect.)
8929
89302006-05-07 04:25  gb
8931
8932        * compiler/X86/x86-asm.lisp: Add support for
8933        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8934
89352006-05-07 04:21  gb
8936
8937        * library/hash-cons.lisp: Fix doc in comments.
8938
89392006-05-07 04:21  gb
8940
8941        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8942
89432006-05-07 04:20  gb
8944
8945        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8946
89472006-05-07 04:19  gb
8948
8949        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8950        TARGET-backtrace.lisp.
8951
89522006-05-07 04:18  gb
8953
8954        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8955        BOGUS-THING-P to TARGET-thread-utils.lisp.
8956
89572006-05-07 04:17  gb
8958
8959        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8960        BOGUS-THING-P support here.
8961
89622006-05-07 04:16  gb
8963
8964        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8965        to psn.
8966
89672006-05-06 15:27  gb
8968
8969        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8970        to the "natural" case.
8971
89722006-05-06 15:26  gb
8973
8974        * compiler/X86/x862.lisp: Pass the right number of args to
8975        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8976
89772006-05-06 15:26  gb
8978
8979        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8980
89812006-05-06 02:09  gb
8982
8983        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8984        A and tries to obtain lock B, and thread Y holds lock B and tries
8985        to obtain lock A, what is that a classic case of ?
8986       
8987        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8988        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8989        two locks at the same time, and that's always a bit dangerous; it
8990        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8991        that must be owned in order to manipulate either the tcr or area
8992        queues.
8993
89942006-05-06 02:04  gb
8995
8996        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8997        %REALPATH of the current directory namestring, as it does by
8998        default on some platforms (but not Linux.)
8999
90002006-05-05 20:08  gb
9001
9002        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9003        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9004        the el-bizarro <- with a (temp) node target.
9005
90062006-05-05 20:06  gb
9007
9008        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9009        relative to the tagged entrypoint, not to the start of the
9010        underlying function-vector.)
9011
90122006-05-05 13:24  gb
9013
9014        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9015        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9016        the same register, so &rest clobbbers %next-method-context.)
9017       
9018        Could make separate entry points, so that this is only done when
9019        %next-method-context needs to be preserved ...
9020
90212006-05-05 13:21  gb
9022
9023        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9024
90252006-05-05 02:23  gb
9026
9027        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9028
90292006-05-05 02:23  gb
9030
9031        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9032
90332006-05-05 01:37  gb
9034
9035        * level-1/version.lisp: Bump du jour.
9036
90372006-05-05 01:36  gb
9038
9039        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9040        between the first 6 words of the outgoing frame (from which GPRs
9041        will be loaded) and other words (which stay on the stack); after
9042        the first 8 FP args, floats have to be passed on the stack, even if
9043        there's still room in the first 6 words of the outgoing frame.
9044       
9045        Need to understand the struct-by-value rules better: can a struct
9046        be passed partly in registers and partly on the stack ? RTFM (or,
9047        in this case, TF ABI spec.)
9048
90492006-05-05 01:31  gb
9050
9051        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9052        case should store relative to "other-offset" (rather than   
9053        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9054        - both the single and double-float cases were incrementing
9055        "other-offset"     twice when more than 8 FP args were involved.
9056        This had the effect of     storing floats into every other word and
9057        writing beyond the bounds of     the outgoing stack frame, possibly
9058        overwriting return addresses on the     foreign stack.
9059
90602006-05-04 23:12  gb
9061
9062        * level-1/l1-streams.lisp: James Bielman's fix to
9063        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9064
90652006-05-04 18:30  gb
9066
9067        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9068        decrement FPR-ARG-OFFSET by 8, not -8.
9069       
9070        (This could cause values outside of the stack frame to be read, but
9071        I still haven't found what's writing beyond the frame bounds.)
9072
90732006-05-04 18:27  gb
9074
9075        * lib/x86-backtrace.lisp: If its argument is an exception callback
9076        frame, %CFP-LFUN tries to determine the relative PC associated with
9077        the frame's nominal function and return that as a second value
9078        (just as it does for a real frame.)
9079       
9080        I think that this should work a high percentage of the time, but
9081        callers should generally be prepared to deal with a NULL second
9082        return value from %CFP-LFUN.
9083
90842006-05-04 11:12  gb
9085
9086        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9087        since we're using the same stack pointer to return values as we are
9088        to find arguments, don't try to "optimize" its initialization.
9089
90902006-05-03 18:52  gb
9091
9092        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9093        a little.  Don't coerce single float results to double; bind
9094        stack-ptr variable even if no args (might be a return value form
9095        that references it.) Failure to do the latter was creating a weird
9096        free variable reference that wasn't handled by the fasloader.
9097
90982006-05-03 18:50  gb
9099
9100        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9101
91022006-05-03 18:49  gb
9103
9104        * lib/nfcomp.lisp: Indent a comment.
9105
91062006-05-03 18:16  gb
9107
9108        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9109        that might involve a variable-length arglist (at this level,
9110        always), set %rax to the number (0-8) of FP arguments passed in xmm
9111        registers.
9112
91132006-05-03 13:26  gb
9114
9115        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9116        ~15, not ~!5.  (This was causing segfaults on return from
9117        interrupts sometimes.)
9118
91192006-05-03 13:24  gb
9120
9121        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9122        by SWANK/SLIME.
9123
91242006-05-03 13:23  gb
9125
9126        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9127        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9128        seems to get many things wrong.)
9129
91302006-05-03 11:37  gb
9131
9132        * level-1/version.lisp: You mist have yesterday's version.
9133
91342006-05-03 11:37  gb
9135
9136        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9137        LAP.
9138
91392006-05-03 11:36  gb
9140
9141        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9142        #+x8664-target.
9143
91442006-05-03 11:36  gb
9145
9146        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9147        it can just check for a 2-digit bignum header if it has something
9148        of tag TAG-MISC.
9149
91502006-05-03 11:34  gb
9151
9152        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9153        destinations.
9154
91552006-05-03 11:33  gb
9156
9157        * compiler/X86/x86-disassemble.lisp: Recognize
9158        uuo-error-eep-unresolved.
9159
91602006-05-02 18:07  gb
9161
9162        * level-1/version.lisp: Bump.
9163
91642006-05-02 18:07  gb
9165
9166        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9167        (mostly ?) unused and currently PPC-specific, if it works at all
9168        ...
9169
91702006-05-02 10:27  gb
9171
9172        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9173        for STRING-INPUT-STREAMs; it's not clear what such a method should
9174        do (and fairly clear that it shouldn't do what the previous
9175        definition was doing.)
9176
91772006-05-02 10:26  gb
9178
9179        * lib/format.lisp: clear input from *query-io*, not from
9180        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9181
91822006-05-02 10:26  gb
9183
9184        * library/hash-cons.lisp: x8664 lap
9185
91862006-05-02 10:26  gb
9187
9188        * lisp-kernel/x86-gc.c: hons area stuff
9189
91902006-04-29 09:14  gb
9191
9192        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9193        overflow (on value/temp stacks).
9194
91952006-04-29 09:13  gb
9196
9197        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9198        callback.
9199
92002006-04-29 09:10  gb
9201
9202        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9203       
9204        No linker script.
9205       
9206        Use -lthr, which offers 1:1 threads.
9207
92082006-04-29 09:09  gb
9209
9210        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9211
92122006-04-29 09:01  gb
9213
9214        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9215
92162006-04-29 09:00  gb
9217
9218        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9219        anything cares ...)
9220
92212006-04-29 08:59  gb
9222
9223        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9224
92252006-04-29 08:58  gb
9226
9227        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9228
92292006-04-29 08:58  gb
9230
9231        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9232
92332006-04-28 21:28  gb
9234
9235        * level-1/version.lisp: bump.
9236
92372006-04-28 21:27  gb
9238
9239        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9240        version).
9241
92422006-04-28 21:24  gb
9243
9244        * lib/ppc-backtrace.lisp: Fix typo.
9245
92462006-04-28 21:23  gb
9247
9248        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9249       
9250        Change the command/keyword parser a little, so that :FOO is just
9251        :FOO and not (:FOO).
9252       
9253        Change :B break loop command (and :F) to allow focusing on a range
9254        of frames, and change PRINT-CALL-HISTORY to more easily support
9255        that.
9256
92572006-04-28 19:37  gb
9258
9259        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9260        LOAD-CONSTANT form.
9261
92622006-04-28 19:34  gb
9263
9264        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9265        Factor out a little more.  Time to see what's broken on PPC ...
9266
92672006-04-28 19:34  gb
9268
9269        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9270        around colon-commands optional.
9271
92722006-04-28 04:11  gb
9273
9274        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9275        debugger's register display code.
9276
92772006-04-28 04:11  gb
9278
9279        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9280        on the stack is bogus.
9281
92822006-04-28 04:10  gb
9283
9284        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9285        ...) when calling back for an exception.
9286
92872006-04-28 03:36  gb
9288
9289        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9290       
9291        xcf struct.
9292
92932006-04-28 03:36  gb
9294
9295        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9296
92972006-04-28 03:36  gb
9298
9299        * lib/x86-backtrace.lisp: Implemented some stuff.
9300       
9301        Backtrace (sort of) works on x8664 now; need to find register
9302        values,  hide tagged return addresses, a few other things.
9303
93042006-04-28 03:34  gb
9305
9306        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9307
93082006-04-28 03:34  gb
9309
9310        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9311
93122006-04-28 03:33  gb
9313
9314        * level-1/x86-trap-support.lisp: Flags register accessor.
9315       
9316        New exception callback scheme.
9317
93182006-04-28 03:33  gb
9319
9320        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9321        changing.
9322
93232006-04-28 03:32  gb
9324
9325        * level-1/x86-error-signal.lisp: New exception callback stuff.
9326
93272006-04-28 03:32  gb
9328
9329        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9330
93312006-04-28 03:32  gb
9332
9333        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9334        files.
9335
93362006-04-28 03:31  gb
9337
9338        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9339        have exception callback frames ...
9340
93412006-04-28 03:30  gb
9342
9343        * level-1/l1-error-system.lisp: Tweak :report method for
9344        wrong-number-of-args errors.
9345
93462006-04-28 03:30  gb
9347
9348        * level-0/X86/x86-def.lisp: Implement APPLY+.
9349
93502006-04-28 03:29  gb
9351
9352        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9353
93542006-04-28 03:27  gb
9355
9356        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9357       
9358        CHECK-NARGS: don't enforce upper bound if it's null.
9359
93602006-04-28 03:17  gb
9361
9362        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9363
93642006-04-28 03:16  gb
9365
9366        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9367        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9368
93692006-04-26 14:18  gb
9370
9371        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9372
93732006-04-26 14:17  gb
9374
9375        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9376        prepared" to do so) if its argument isn't a function designator, so
9377        don't quietly call METHOD-FUNCTION for the user.
9378
93792006-04-26 13:56  gb
9380
9381        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9382        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9383
93842006-04-26 03:59  gb
9385
9386        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9387        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9388        exceptions will be pending when we start an ff-call (and the mxcsr
9389        is loaded from that location.)
9390       
9391        tcr.ffi_exception will then contain non-zero exception bits iff the
9392        most recent ff-call raised a (probably masked) FP exception.
9393       
9394        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9395
93962006-04-26 03:55  gb
9397
9398        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9399
94002006-04-26 03:23  gb
9401
9402        * lisp-kernel/x86-constants64.s: Update comment on
9403        tcr.ffi_exception.
9404
94052006-04-26 03:22  gb
9406
9407        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9408        from ffcall.  (Should maybe clear exception bits on entry to
9409        foreign state, so we're sure that any exception bits set in the
9410        tcr.ffi_exception slot were caused by the most recent ff-call.)
9411
94122006-04-26 03:20  gb
9413
9414        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9415        ffcall, compare them to unmasked exception bits in current MXCSR,
9416        maybe raise FP exception.  (Note: compile this change and rebuild
9417        image before making corresponding kernel change.)
9418
94192006-04-26 02:31  gb
9420
9421        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9422        LOGAND-2, not to LOGXOR-2.  Sheesh.
9423
94242006-04-26 02:01  gb
9425
9426        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9427        bit numbers as tests of the sign bit.   (This is probably best
9428        viewed as being "formally undefined", but it's not too expensive to
9429        check for that.  The case where the bit number's negative is
9430        definitely undefined; I think that it also gets treated as a test
9431        of the sign bit.)
9432
94332006-04-26 01:58  gb
9434
9435        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9436        negative.
9437
94382006-04-26 01:32  gb
9439
9440        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9441        61.  (Should check here for negative bit .)
9442
94432006-04-26 01:31  gb
9444
9445        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9446        context" error - which typically indicates a fault during exception
9447        processing - pass the context in to the kernel debugger.
9448
94492006-04-26 01:30  gb
9450
9451        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9452
94532006-04-26 00:56  gb
9454
9455        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9456        if it compares all corresponding digits, rather than repeatedly
9457        comparing the 0th digits N times ...
9458
94592006-04-25 17:38  gb
9460
9461        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9462        is 0, not if disp is 0.  ash: always make a signed integer out of
9463        the result,  since arg is always signed.
9464
94652006-04-25 17:37  gb
9466
9467        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9468        bit, so (for instance) (- 0.0d0) is -0.0d0.
9469
94702006-04-25 17:36  gb
9471
9472        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9473        time.
9474
94752006-04-25 17:35  gb
9476
9477        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9478        operand is in target reg (2-address issue.)
9479
94802006-04-24 16:42  gb
9481
9482        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9483        Apparently, pretty hard.  It was doing a logical shift right when
9484        typechecking the value, so negative values were rejected.
9485
94862006-04-24 16:41  gb
9487
9488        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9489        callback now takes a 'signo' argument.
9490
94912006-04-24 16:40  gb
9492
9493        * level-1/x86-trap-support.lisp: Initial support for handling
9494        arithmetic errors.  Will need more work to get operation and
9495        operands right.
9496
94972006-04-24 16:39  gb
9498
9499        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9500
95012006-04-24 13:58  gb
9502
9503        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9504        uuo-error-reg-not-type case.
9505
95062006-04-24 13:57  gb
9507
9508        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9509        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9510        another story.)
9511
95122006-04-24 13:55  gb
9513
9514        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9515        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9516        boxed, either.
9517
95182006-04-24 12:02  gb
9519
9520        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9521        _SPtcallnfngen: several bugs, which were already fixed in similar
9522        variants.
9523
95242006-04-24 12:01  gb
9525
9526        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9527        Deutch/Waite/Schorr marker.
9528
95292006-04-24 12:00  gb
9530
9531        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9532        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9533
95342006-04-24 11:59  gb
9535
9536        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9537
95382006-04-24 11:58  gb
9539
9540        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9541        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9542        DOUBLE-FLOAT.
9543
95442006-04-24 11:58  gb
9545
9546        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9547        high and low words of the mantissa, to ensure that no hidden bits
9548        are set.  (Some such bits were set, causing many double-float
9549        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9550
95512006-04-24 02:21  gb
9552
9553        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9554        image.
9555       
9556        (Don't expect it to have any contents yet; that'll require several
9557        more changes.   This is all intended to support PURIFY on x8664,
9558        where we'll want to ensure that any constant referenced by a
9559        function in readonly/pure memory has a fixed, static address.)
9560
95612006-04-24 02:14  gb
9562
9563        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9564        section makes NUM_IMAGE_SECTIONS 4.
9565
95662006-04-24 02:13  gb
9567
9568        * lisp-kernel/area.h: Typo in the definition of
9569        AREA_MANAGED_STATIC.
9570
95712006-04-24 02:12  gb
9572
9573        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9574        more areas.
9575
95762006-04-24 02:12  gb
9577
9578        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9579        addresses of instructions (not pointers thereto ...)
9580
95812006-04-24 02:11  gb
9582
9583        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9584        (mostly so that I could step through it to remember how it worked
9585        ...).
9586
95872006-04-24 02:10  gb
9588
9589        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9590        indirection.
9591
95922006-04-24 02:09  gb
9593
9594        * lisp-kernel/x86-gc.c: Remove a sanity check.
9595
95962006-04-24 02:09  gb
9597
9598        * xdump/xfasload.lisp: Create (empty) managed-static section
9599        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9600
96012006-04-24 02:08  gb
9602
9603        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9604        section.
9605
96062006-04-24 02:07  gb
9607
9608        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9609        fds, take CLOSE-ON-ERROR more seriously.
9610
96112006-04-24 02:06  gb
9612
9613        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9614        %CURRENT-FRAME-PTR) on PPC32/64.
9615
96162006-04-24 00:50  gb
9617
9618        * level-1/version.lisp: Bump.  Getting there ...
9619
96202006-04-24 00:50  gb
9621
9622        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9623       
9624        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9625        so pass them as a pointer to avoid word-size issues.
9626
96272006-04-24 00:48  gb
9628
9629        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9630        things that had been missing.
9631
96322006-04-24 00:48  gb
9633
9634        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9635        UUOs.
9636
96372006-04-24 00:48  gb
9638
9639        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9640
96412006-04-24 00:47  gb
9642
9643        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9644
96452006-04-24 00:47  gb
9646
9647        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9648
96492006-04-24 00:47  gb
9650
9651        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9652
96532006-04-24 00:46  gb
9654
9655        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9656        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9657        need to boostrap on PPC).
9658       
9659        Parse %FOREIGN-STACK-POINTER.
9660
96612006-04-22 03:30  gb
9662
9663        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9664        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9665        because (a) nothing else will and (b) the tcr will likely become
9666        unmapped soon, and we don't want things that walk the tcr list to
9667        segfault.
9668
96692006-04-22 03:27  gb
9670
9671        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9672        find_foreign_rsp; call Bug() and exit() if the context has no
9673        fpregs.  (That's a symptom, not the proble, but it's slightly
9674        better to do this than to double fault, which is what seems to be
9675        happening.)
9676
96772006-04-21 10:12  gb
9678
9679        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9680        worry about consing, write-barrier stuff.
9681
96822006-04-21 10:11  gb
9683
9684        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9685        (condition codes.)
9686
96872006-04-21 10:11  gb
9688
9689        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9690        (again.)
9691       
9692        Define enumeration constants for matching the instructions that can
9693        occur during consing.
9694
96952006-04-21 10:09  gb
9696
9697        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9698        store_node_conditional, in case pc_luser_xp() needs to complete the
9699        memoization.
9700
97012006-04-21 02:50  gb
9702
9703        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9704        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9705        allowed.
9706
97072006-04-21 02:49  gb
9708
9709        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9710        line up with GPRs.
9711
97122006-04-21 02:48  gb
9713
9714        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9715        #+64-bit-target, not #+ppc64-target.
9716
97172006-04-21 02:47  gb
9718
9719        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9720        amount.
9721
97222006-04-21 02:46  gb
9723
9724        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9725        unique to PPC64 (but do depend on #+64-bit-target).
9726
97272006-04-21 02:46  gb
9728
9729        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9730        confuse PROGV; remove them, for now.
9731
97322006-04-20 23:35  gb
9733
9734        * lisp-kernel/x86-spentry64.s: In the bignum case of
9735        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9736        whatever the code was trying to do there.
9737       
9738        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9739        and arg_z from the correct offsets within the lexpr.
9740
97412006-04-20 04:48  gb
9742
9743        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9744        force it to always be used, for now.
9745
97462006-04-19 17:11  gb
9747
9748        * lisp-kernel/pmcl-kernel.c: (Very) different
9749        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9750
97512006-04-19 17:10  gb
9752
9753        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9754        Solaris.
9755
97562006-04-19 00:35  gb
9757
9758        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9759        reversing-pointer marker should work.  (Perhaps it's a strong
9760        argument for implementing "purify" soon.)
9761
97622006-04-19 00:34  gb
9763
9764        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9765        function-boundary-marker.
9766
97672006-04-19 00:33  gb
9768
9769        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9770
97712006-04-18 19:35  gb
9772
9773        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9774        multiple-value case of THROW: don't want to do unbind_to if tcr's
9775        db-link matches target catch frame's.
9776
97772006-04-18 19:33  gb
9778
9779        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9780        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9781        synch with x86-asm.
9782
97832006-04-18 19:33  gb
9784
9785        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9786        :R in break messages.
9787       
9788        Say more about :C in :R.
9789
97902006-04-18 19:32  gb
9791
9792        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9793        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9794        seems to have been fixed.
9795
97962006-04-18 19:31  gb
9797
9798        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9799        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9800        horrible kludge, but it only happens once.)
9801
98022006-04-18 19:19  gb
9803
9804        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9805        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9806        to have been fixed.
9807
98082006-04-18 19:18  gb
9809
9810        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9811        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9812        ends of its arguments and ignoring the first few bytes (as well as
9813        doing misaligned memory references.)
9814
98152006-04-18 19:16  gb
9816
9817        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9818        This'll require some thought, mostly because of the reserved-frame
9819        issue(s).
9820
98212006-04-18 06:21  gb
9822
9823        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9824        adventures are about to end, I'm afraid.
9825
98262006-04-18 06:04  gb
9827
9828        * level-1/version.lisp: Daily bump.
9829
98302006-04-18 05:59  gb
9831
9832        * level-1/l1-sockets.lisp: Comment indentation.
9833
98342006-04-18 05:56  gb
9835
9836        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9837
98382006-04-18 05:55  gb
9839
9840        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9841        ppc-def (that means that there will need to be an APPLY+ for
9842        x8664).
9843
98442006-04-18 05:38  gb
9845
9846        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9847        compiler and x8664-vinsn-templates to agree on vinsn-names and
9848        implement some vinsns that had been missing.  (About 15 or so
9849        undefined vinsns remain.)
9850
98512006-04-18 05:37  gb
9852
9853        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9854        opcode ordinals in vinsn templates (e.g., in case new instructions
9855        are defined in the assembler) wasn't checking to see if vinsn
9856        templates named in the hash table were defined.  (It was apparently
9857        getting away with this because CONSP was broken.)  So, don't try to
9858        fixup opcode ordinals in NIL, and optionally report templates
9859        that're referenced but not defined.
9860
98612006-04-18 04:38  gb
9862
9863        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9864        (which only sets the low 8 bits of its destination), then comparing
9865        all 64-bits of the destination to a zero-extended 32-bit constant.
9866        (E.g., CONSP had little chance of being right all other things
9867        being equal, but may have been right more than one in 2^56 times if
9868        some random preceding instruction had zeroed the upper 56 bits.)
9869       
9870        (It's also shorter to do an 8-bit compare.)
9871
98722006-04-18 03:11  gb
9873
9874        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9875
98762006-04-18 02:51  gb
9877
9878        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9879        happy (well, as happy as they're going to be ...), back to finding
9880        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9881
98822006-04-18 01:26  gb
9883
9884        * lisp-kernel/thread_manager.c: Some Solaris changes.
9885
98862006-04-18 00:48  gb
9887
9888        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9889        installs in /usr/sfw/bin is both newer and buggier than the version
9890        available on the "Solaris Companion" disk, which gets installed in
9891        /opt/sfw/bin.
9892       
9893        Ordinarily, I'd wonder why a "companion" disk offers to install
9894        software that's bundled as part of the installation (especially old
9895        versions of that software.)  Now I know.
9896
98972006-04-18 00:45  gb
9898
9899        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9900
99012006-04-18 00:45  gb
9902
9903        * lisp-kernel/m4macros.m4: Fix changecom.
9904
99052006-04-18 00:11  gb
9906
9907        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9908        but is otherwise fine with single-line /* */.
9909
99102006-04-18 00:09  gb
9911
9912        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9913        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9914        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9915        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9916        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9917        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9918        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9919        like Darwin as, but we're back to single-line /* */, which is often
9920        pretty ugly and not well-supported by Emacs.
9921
99222006-04-17 23:23  gb
9923
9924        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9925        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9926        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9927        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9928        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9929        by Emacs and by all current GAS versions (but see ARM conventions.)
9930         No more jerking around with this, knock wood.
9931
99322006-04-17 23:23  gb
9933
9934        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9935        case where caller provided args before the lexpr, which is much
9936        harder than the simple case.
9937       
9938        Use #/newline for comment delimiters, which is supported by Emacs
9939        and by all current GAS versions (but see ARM conventions.)  No more
9940        jerking around with this, knock wood.
9941
99422006-04-17 23:20  gb
9943
9944        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9945        when numbers differed greatly in magnitude.  Current (binary)
9946        algorithm is usually OK.
9947
99482006-04-17 23:17  gb
9949
9950        * compiler/X86/x86-lap.lisp: Condition name should be
9951        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9952        not the problem.  Name wasn't spelled correctly in code that
9953        signals the condition, anyway.
9954
99552006-04-17 16:34  gb
9956
9957        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9958        argument, takes a new boolean to distinguish current tcr from
9959        others.  (The current tcr is only lusered on an interrupt; others
9960        are only lusered on GC entry.)
9961
99622006-04-17 16:33  gb
9963
9964        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9965        here.  (No deep reason not to share the new x86 signature on all
9966        architectures.)
9967
99682006-04-17 16:32  gb
9969
9970        * lisp-kernel/ppc-exceptions.h: PPC 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:31  gb
9975
9976        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9977        platform-dependent.
9978
99792006-04-17 06:49  gb
9980
9981        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9982        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9983        already.
9984
99852006-04-17 06:17  gb
9986
9987        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9988        truly portable type name.
9989
99902006-04-17 06:16  gb
9991
9992        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9993        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9994        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9995        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9996        work if they're at the start of a line in Linux GAS.  Try /* */
9997        comments, but limit them to a single line.  (May ultimately be
9998        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9999
100002006-04-17 05:28  gb
10001
10002        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10003        x86-subprims64.s, x86-uuo.s: // comments.
10004
100052006-04-17 05:28  gb
10006
10007        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10008        conditionalization.
10009
100102006-04-17 05:27  gb
10011
10012        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10013        accessors, etc.)
10014
100152006-04-17 05:26  gb
10016
10017        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10018        the sigstack trampoline stuff.)
10019
100202006-04-17 05:25  gb
10021
10022        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10023        integer types.
10024
100252006-04-17 05:24  gb
10026
10027        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10028        x86-constants64.s: // comments.
10029
100302006-04-17 05:23  gb
10031
10032        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10033        Solaris mmap() is ... unusual.
10034
100352006-04-17 05:21  gb
10036
10037        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10038        since Solaris version of GAS doen't handle multi-line comments (/*
10039        ... */).  It -seems- that other assemblers do handle them
10040        correctly; we'll see.
10041       
10042        Some Solaris conditionalization (ELFstabs, etc.)
10043
100442006-04-17 05:20  gb
10045
10046        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10047         We'll see what this breaks.
10048
100492006-04-17 05:19  gb
10050
10051        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10052        SOLARIS is defined.
10053
100542006-04-17 05:18  gb
10055
10056        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10057        registers in predictable order.
10058
100592006-04-17 05:17  gb
10060
10061        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10062        single-line comments, since Solaris version of GAS doen't handle
10063        multi-line comments (/* ... */).  It -seems- that other assemblers
10064        do handle them correctly; we'll see.
10065
100662006-04-17 05:15  gb
10067
10068        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10069
100702006-04-17 05:15  gb
10071
10072        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10073       
10074        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10075        platforms ?
10076
100772006-04-17 05:01  gb
10078
10079        * lisp-kernel/solarisx64/Makefile: new file
10080
100812006-04-17 04:56  gb
10082
10083        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10084        change the name/usage of the linker script.
10085       
10086        Stop using the linker script (since spjump is the only thing in the
10087        kernel that has to be at a fixed address and we can copy it there.)
10088       
10089        Don't disable the EGC.
10090
100912006-04-17 04:54  gb
10092
10093        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10094        the spjump table, exported for C (so that spjump can be mapped into
10095        low memory.)
10096
100972006-04-17 04:54  gb
10098
10099        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10100       
10101        If the tlb's too small when trying to bind a special, push the
10102        binding index of the symbol we're binding (for the benefit of the
10103        handler.)
10104
101052006-04-17 04:52  gb
10106
10107        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10108        code words than it has elements (can't happen, unless the
10109        function's code-words word is garbage, which seems to happen when
10110        closures get consed up in non-zeroed memory.)
10111       
10112        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10113        %nargs.q), which sometimes contains something tagged and
10114        non-immediate.
10115
101162006-04-17 04:48  gb
10117
10118        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10119        to ensure that everythings's zeroed.
10120       
10121        x8664 implementation of extend_tcr_tlb().
10122       
10123        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10124        in call to update_bytes_allocated().
10125       
10126        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10127        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10128        bug, and possibly some other instabiliy.)
10129       
10130        handle_exception: keep trying to guess how to distinguish memory
10131        faults from other sources of SIGSEGV.
10132       
10133        On debug traps, advance the PC past the UUO before entering the
10134        debugger.
10135       
10136        Handle XUUO_TLB_TOO_SMALL.
10137
101382006-04-17 04:42  gb
10139
10140        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10141        reserved_frame_marker.
10142
101432006-04-17 04:42  gb
10144
10145        * lisp-kernel/thread_manager.c: Remove implementation of
10146        extend_tcr_tlb().
10147
101482006-04-17 04:41  gb
10149
10150        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10151        extend_tcr_tlb().
10152
101532006-04-17 04:41  gb
10154
10155        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10156
101572006-04-17 04:40  gb
10158
10159        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10160        that we don't need to use a linker script.
10161
101622006-04-17 04:40  gb
10163
10164        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10165        target xxx-exceptions.h now.
10166
101672006-04-17 04:39  gb
10168
10169        * lib/misc.lisp: Some comment formatting/editing.
10170
101712006-04-17 04:38  gb
10172
10173        * level-1/version.lisp: Bump.
10174
101752006-04-17 04:38  gb
10176
10177        * level-1/l1-readloop.lisp: Some debugging code in the code which
10178        creates the final closure.  It seems that when it's bad, it's bad
10179        on creation (here.)
10180
101812006-04-17 04:37  gb
10182
10183        * level-1/l1-processes.lisp: Some debugging code in
10184        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10185        final closure to be trashed.
10186       
10187        I don't think that other threads were getting their allocptr's
10188        nullified correctly by the GC/normalize_tcr(); with the current
10189        debugging code in place, it seems like the closure is consed on top
10190        of something other than free, thread-private heap memory (when it's
10191        bad, it fails the first check here.  I'm not sure that the latest
10192        round of GC/normalize-tcr() changes have fixed the problem, but I
10193        haven't seen it in a while now, either.)
10194
101952006-04-17 04:32  gb
10196
10197        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10198        disassembly, etc.).
10199
102002006-04-17 04:31  gb
10201
10202        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10203        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10204        (anymore.)
10205       
10206        Subprims are down in low memory again; make INIT-CLOSURE skip
10207        setting the high byte of .SPcall-closure's address if it's zero.
10208
102092006-04-17 04:28  gb
10210
10211        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10212        which may help backtrace.
10213
102142006-04-17 04:26  gb
10215
10216        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10217        (interface/implementation.)
10218
102192006-04-15 09:20  gb
10220
10221        * level-1/x86-callback-support.lisp: Ensure that callback
10222        trampolines are allocated in executable memory.
10223
102242006-04-15 09:12  gb
10225
10226        * lib/dumplisp.lisp: Refresh external entry points before reviving
10227        callbacks.  Reset callback storage before reviving callbacks.
10228
102292006-04-15 09:10  gb
10230
10231        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10232        error message with a %.  (Where did that come from ?)
10233
102342006-04-15 09:08  gb
10235
10236        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10237        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10238        is executable.
10239
102402006-04-14 09:02  gb
10241
10242        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10243
102442006-04-14 08:21  gb
10245
10246        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10247        shorthand for the nearest matching year.
10248
102492006-04-14 08:20  gb
10250
10251        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10252        when : was missing.
10253
102542006-04-13 23:09  gb
10255
10256        * lib/ppc-backtrace.lisp: Eschew missing parens.
10257
102582006-04-13 23:08  gb
10259
10260        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10261
102622006-04-13 23:08  gb
10263
10264        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10265        ARGLIST-FROM-MAP.
10266
102672006-04-13 23:02  gb
10268
10269        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10270        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10271        about returning a second value; returns values NIL, T for functions
10272        that take no args and don't have a symbol map.
10273
102742006-04-13 22:53  gb
10275
10276        * level-1/l1-lisp-threads.lisp: Try to make args to
10277        NTH-VALUE-IN-FRAME et al a little saner.
10278
102792006-04-13 22:37  gb
10280
10281        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10282        type.
10283
102842006-04-13 22:36  gb
10285
10286        * level-1/version.lisp: Bump.
10287
102882006-04-13 22:35  gb
10289
10290        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10291        trying to find the cause of the crash-on-quit bug.
10292
102932006-04-13 07:30  gb
10294
10295        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10296
102972006-04-13 07:29  gb
10298
10299        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10300        stuff to target-backtrace.
10301
103022006-04-13 06:45  gb
10303
10304        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10305
103062006-04-13 06:44  gb
10307
10308        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10309        x8664.
10310
103112006-04-13 06:44  gb
10312
10313        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10314        bytes of %nargs_q contain arg count.
10315
103162006-04-13 06:43  gb
10317
10318        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10319
103202006-04-13 06:43  gb
10321
10322        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10323        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10324        APPLY.
10325
103262006-04-13 06:42  gb
10327
10328        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10329
103302006-04-13 06:41  gb
10331
10332        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10333        operands.
10334
103352006-04-13 06:41  gb
10336
10337        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10338        "vector-lists" instead of adjustable arrays, simplify handling of
10339        constant expressions.  Still conses hysterically; need to find out
10340        where and tone it down a bit, if possible.
10341
103422006-04-13 06:39  gb
10343
10344        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10345        operands; maybe no lap constant-expressions.
10346
103472006-04-13 06:39  gb
10348
10349        * compiler/X86/x86-asm.lisp: Don't need
10350        *lap-constant-0-expression*.
10351
103522006-04-13 00:46  gb
10353
10354        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10355        linker script.
10356
103572006-04-13 00:45  gb
10358
10359        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10360        2.16.1 (Thanks to James Bielman).
10361
103622006-04-12 18:53  gb
10363
10364        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10365        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10366        of this seems to have to do with C++ static constructors, which
10367        aren't really relevant here.)
10368
103692006-04-12 18:28  gb
10370
10371        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10372        between %Rforeign_sp and GPRs.
10373
103742006-04-12 18:22  gb
10375
10376        * lisp-kernel/linuxx8664/Makefile: egc flag
10377
103782006-04-12 18:08  gb
10379
10380        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10381        where we're losing here.
10382
103832006-04-12 18:07  gb
10384
10385        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10386        write barrier code, crap out if so.
10387
103882006-04-12 18:06  gb
10389
10390        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10391        (presumably in a Makefile).
10392
103932006-04-12 14:50  gb
10394
10395        * level-1/version.lisp: Bump.
10396
103972006-04-12 14:46  gb
10398
10399        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10400        x86-backtrace.lisp: new target backtrace stuff.
10401
104022006-04-12 14:45  gb
10403
10404        * lib/backtrace.lisp: Start splitting things up, ideally into a
10405        mostly abstract API and gory platform- dependent implementation
10406        details.
10407
104082006-04-11 21:40  gb
10409
10410        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10411        the damned thing on.  (A little painful with integrity checking
10412        enabled, as it still is by default.)
10413       
10414        TODO:
10415       
10416        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10417        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10418        exception handling - check UUO usage in kernel, disassembler,
10419        exception handlers - stack overflow recovery
10420
104212006-04-11 21:24  gb
10422
10423        * lisp-kernel/x86-gc.c: Skip over function code in
10424        check_refmap_consistency.
10425
104262006-04-11 21:23  gb
10427
10428        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10429        backwards.
10430
104312006-04-11 19:11  gb
10432
10433        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10434
104352006-04-11 19:11  gb
10436
10437        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10438        a closure, no lfname slot in closure.
10439
104402006-04-11 16:29  gb
10441
10442        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10443        area.
10444
104452006-04-11 16:29  gb
10446
10447        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10448        between lisp/foreign code.
10449
104502006-04-11 16:29  gb
10451
10452        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10453        bit-order problems.)
10454       
10455        Maintain the MXCSR on transitions between lisp/foreign code.
10456
104572006-04-11 16:28  gb
10458
10459        * lisp-kernel/x86-macros.s: Access globals in expressions.
10460
104612006-04-11 16:27  gb
10462
10463        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10464        need some bootstrapping stuff (function boundary markers) for a few
10465        reasons, as will DWS marker.
10466
104672006-04-11 16:27  gb
10468
10469        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10470        the siginfo error code.
10471
104722006-04-11 16:26  gb
10473
10474        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10475        fields in tcr.
10476
104772006-04-11 16:25  gb
10478
10479        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10480
104812006-04-11 16:25  gb
10482
10483        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10484        when starting a lisp thread.  (It'll be saner when FP exceptions
10485        are handled.)
10486
104872006-04-11 16:24  gb
10488
10489        * level-1/x86-error-signal.lisp: Recognize what complaints about
10490        non-uvectors are trying to tell us.
10491
104922006-04-11 16:23  gb
10493
10494        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10495        vectors.
10496
104972006-04-11 16:23  gb
10498
10499        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10500        Ses.  Define classes for function/symbol vectors.
10501
105022006-04-11 16:22  gb
10503
10504        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10505
105062006-04-11 16:21  gb
10507
10508        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10509        needs to add a function boundary marker (but we can stop padding
10510        each closure with a null function name slot.)
10511
105122006-04-11 16:20  gb
10513
10514        * compiler/X86/X8664/x8664-arch.lisp: Define
10515        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10516
105172006-04-11 16:19  gb
10518
10519        * compiler/X86/x862.lisp: Emit a function boundary marker between
10520        code and constants. (For GC reasons.) Change closure initialization
10521        to account for it.
10522
105232006-04-11 16:18  gb
10524
10525        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10526        between code and constants. (For GC reasons.)
10527
105282006-04-11 16:17  gb
10529
10530        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10531
105322006-04-11 16:17  gb
10533
10534        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10535       
10536        See if we can get by without 68K condition code ...
10537
105382006-04-11 06:53  gb
10539
10540        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10541        soon.
10542
105432006-04-11 06:53  gb
10544
10545        * lib/numbers.lisp: Infinity constants conditionalized on/off
10546        during MXCSR adventures.  On now.
10547
105482006-04-11 06:52  gb
10549
10550        * lib/describe.lisp: Comment indentation.
10551       
10552        No such thing as an interpreted function; hasn't been for years.
10553
105542006-04-11 06:51  gb
10555
10556        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10557        al.
10558
105592006-04-11 06:51  gb
10560
10561        * level-1/version.lisp: Bumped yesterday.
10562
105632006-04-11 06:50  gb
10564
10565        * level-1/l1-error-signal.lisp: Comments.
10566
105672006-04-11 06:50  gb
10568
10569        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10570        at least.
10571
105722006-04-11 06:50  gb
10573
10574        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10575        a fixnum constant is boxed in %SET-MXCSR.
10576
105772006-04-11 06:49  gb
10578
10579        * level-0/X86/x86-def.lisp: Get info about register usage.
10580
105812006-04-11 06:49  gb
10582
10583        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10584        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10585        though that it was dealing with a scaled index.
10586
105872006-04-11 06:48  gb
10588
10589        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10590        aref.
10591
105922006-04-11 06:48  gb
10593
10594        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10595        do something about FRAG-CODE-BUFFERs, and need to tone down
10596        expression overkill.
10597
105982006-04-11 06:46  gb
10599
10600        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10601        for when opcode ordinals change.
10602
106032006-04-11 06:46  gb
10604
10605        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10606        UUO-ERROR-ARRAY-RANK.
10607       
10608        Vinsn template fixup mechanism, for when opcode ordinals change.
10609
106102006-04-11 06:45  gb
10611
10612        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10613
106142006-04-11 06:45  gb
10615
10616        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10617
106182006-04-11 06:44  gb
10619
10620        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10621        specialized list header initialization.
10622
106232006-04-11 06:43  gb
10624
10625        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10626        2d float arrays.
10627
106282006-04-10 10:19  gb
10629
10630        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10631        foreign SP properly obeying C alignment conventions.  In order to
10632        get it aligned for lisp usage during the callback, an extra word
10633        needs to be pushed before the backpointer to the old foreign RSP.
10634
106352006-04-10 10:18  gb
10636
10637        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10638        is 16-byte aligned, so that the foreign stack pointer is aligned
10639        according to C conventions when we enter the signal handler on that
10640        stack.
10641
106422006-04-10 10:13  gb
10643
10644        * lib/numbers.lisp: Define FP infinities, since we're running with
10645        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10646        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10647        an unmasked FP exception was raised and unhandled.)
10648
106492006-04-10 10:10  gb
10650
10651        * lib/level-2.lisp: Remove the WARN and the conditionalization
10652        around bit/bitfield accessors on X8664.
10653
106542006-04-10 10:09  gb
10655
10656        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10657        from memory, we say "ldmxcsr".  We want to do such a load in order
10658        to write new values into the mxcsr.  To store it in memory, we say
10659        "stmxcsr".  We want to do such a store (and a subsequent load from
10660        memory) in order to access the value of the mxcsr.  Simple, no ?
10661
106622006-04-10 10:07  gb
10663
10664        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10665        %GET-BIT/%SET-BIT.
10666
106672006-04-10 08:29  gb
10668
10669        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10670        addition/multiplication: either arg can overlap result (and often
10671        will).  Float subtraction/division: caller should ensure that
10672        result and second arg are disjoint.
10673
106742006-04-10 08:27  gb
10675
10676        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10677        that result doesn't overlap second argument for non-commutative
10678        operations.
10679
106802006-04-10 08:26  gb
10681
10682        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10683
106842006-04-10 05:12  gb
10685
10686        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10687        malloc them.
10688
106892006-04-10 05:12  gb
10690
10691        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10692
106932006-04-10 05:11  gb
10694
10695        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10696        good reason not to.
10697
106982006-04-10 04:39  gb
10699
10700        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10701        are always big-endian.
10702
107032006-04-10 04:38  gb
10704
10705        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10706        reachable via a TRA, update the variable "dnode" so that the
10707        correct bits get set.
10708
107092006-04-10 04:37  gb
10710
10711        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10712
107132006-04-10 04:37  gb
10714
10715        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10716        a bit simpler.
10717
107182006-04-10 04:36  gb
10719
10720        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10721        the MAKE-LOAD-FORM method for hashtables.
10722
107232006-04-09 09:17  gb
10724
10725        * lisp-kernel/thread_manager.c: Inflate control stack size on
10726        x8664, until DWS marker works (and do so correctly this time).
10727
107282006-04-09 09:12  gb
10729
10730        * lisp-kernel/thread_manager.c: Inflate control stack size on
10731        x8664, until DWS marker works.
10732
107332006-04-09 09:09  gb
10734
10735        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10736        #+x86-target DBG trap.
10737
107382006-04-09 08:57  gb
10739
10740        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10741        (Should be exactly the same code, but may not have been 15 years
10742        ago or whenever this was written.)
10743
107442006-04-09 08:56  gb
10745
10746        * lisp-kernel/x86-spentry64.s,
10747        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10748        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10749
107502006-04-09 03:52  gb
10751
10752        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10753        condition_to_boolean.  Not clear why this is necessary, but it
10754        seems to be.
10755
107562006-04-09 03:24  gb
10757
10758        * lisp-kernel/x86-macros.s: Use shorter sequence in
10759        condition_to_boolean.
10760
107612006-04-09 02:32  gb
10762
10763        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10764        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10765        other things being equal.
10766
107672006-04-09 01:37  gb
10768
10769        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10770        operands backwards.
10771
107722006-04-09 01:37  gb
10773
10774        * compiler/optimizers.lisp: Comment formatting.
10775
107762006-04-09 01:29  gb
10777
10778        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10779        bsr/xorl != clz when (zerop n).
10780
107812006-04-08 21:25  gb
10782
10783        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10784        current thread before entering kernel debugger.
10785
107862006-04-08 21:21  gb
10787
10788        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10789        (TARGET-XLOAD-MODULES).
10790
107912006-04-08 21:21  gb
10792
10793        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10794
107952006-04-08 21:20  gb
10796
10797        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10798
107992006-04-08 20:46  gb
10800
10801        * lib/foreign-types.lisp: Add missing paren ...
10802
108032006-04-08 20:45  gb
10804
10805        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10806
108072006-04-08 20:44  gb
10808
10809        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10810        structs by value, sort of.
10811
108122006-04-08 20:43  gb
10813
10814        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10815
108162006-04-08 20:42  gb
10817
10818        * library/hash-cons.lisp: Port some of this to x8664; need to add
10819        code to maintain "used" bitmap.
10820
108212006-04-08 20:42  gb
10822
10823        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10824        short term.
10825
108262006-04-08 20:41  gb
10827
10828        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10829        someday fix this crap.
10830
108312006-04-08 20:40  gb
10832
10833        * lib/describe.lisp: Conditionalize, a little.
10834
108352006-04-08 20:40  gb
10836
10837        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10838
108392006-04-08 20:39  gb
10840
10841        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10842
108432006-04-08 20:39  gb
10844
10845        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10846
108472006-04-08 20:39  gb
10848
10849        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10850        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10851
108522006-04-08 20:38  gb
10853
10854        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10855        l1-readloop-lds (nothing to do with PPC or traps ...)
10856
108572006-04-08 20:37  gb
10858
10859        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10860
108612006-04-08 04:46  gb
10862
10863        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10864        restore, even if there's only one values-producing form (that form
10865        might produce more values than will fit in argument registers, and
10866        we therefore have to reserve space for a stack frame.)
10867
108682006-04-08 04:45  gb
10869
10870        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10871
108722006-04-08 04:43  gb
10873
10874        * lib/macros.lisp: Scanning backwards for instructions depends on a
10875        reasonable architecture.
10876
108772006-04-08 04:43  gb
10878
10879        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10880
108812006-04-08 04:42  gb
10882
10883        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10884        target arch.
10885
108862006-04-08 04:41  gb
10887
10888        * xdump/.cvsignore: ignore *.*fsl
10889
108902006-04-07 22:46  gb
10891
10892        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10893
108942006-04-07 22:45  gb
10895
10896        * compiler/nx1.lisp: Provide an FTYPE declaration for
10897        %DEFINE-PPC-LAP-FUNCTION.
10898
108992006-04-07 22:25  gb
10900
10901        * level-1/version.lisp: Bump.
10902
109032006-04-07 22:19  gb
10904
10905        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10906        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10907        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10908        package.
10909