revision 1.2 date: 2004/01/12 20:11:55; author: toy; state: Exp; lines: +6 -2 o Enable heap-check-overflow in features. o Add some comments.
revision 1.4 date: 2004/01/12 20:11:55; author: toy; state: Exp; lines: +22 -9 o Enable heap-check-overflow in features. o Add some comments.
revision 1.102 date: 2004/01/09 04:34:18; author: toy; state: Exp; lines: +2 -1 TRACE was broken if CMUCL wasn't built from a version that included PCL, because it needed PCL's walker code. Fix this by always building with PCL's walker, which is independent of PCL: code/fwrappers.lisp: o Always use the PCL version, assuming PCL walker is included. pcl/defsys.lisp: o Don't build walk.lisp here, because it's built as a part of CMUCL. o Fix up dependencies. tools/worldcom.lisp: o Compile up pcl/walk.lisp tools/worldload.lisp: o Load up pcl/walk.lisp
revision 1.91 date: 2004/01/09 04:34:18; author: toy; state: Exp; lines: +2 -1 TRACE was broken if CMUCL wasn't built from a version that included PCL, because it needed PCL's walker code. Fix this by always building with PCL's walker, which is independent of PCL: code/fwrappers.lisp: o Always use the PCL version, assuming PCL walker is included. pcl/defsys.lisp: o Don't build walk.lisp here, because it's built as a part of CMUCL. o Fix up dependencies. tools/worldcom.lisp: o Compile up pcl/walk.lisp tools/worldload.lisp: o Load up pcl/walk.lisp
revision 1.2 date: 2004/01/12 20:09:29; author: toy; state: Exp; lines: +1 -1 Disable package locks when doing a cross-compile.
revision 1.35 date: 2004/01/09 04:34:17; author: toy; state: Exp; lines: +5 -4 TRACE was broken if CMUCL wasn't built from a version that included PCL, because it needed PCL's walker code. Fix this by always building with PCL's walker, which is independent of PCL: code/fwrappers.lisp: o Always use the PCL version, assuming PCL walker is included. pcl/defsys.lisp: o Don't build walk.lisp here, because it's built as a part of CMUCL. o Fix up dependencies. tools/worldcom.lisp: o Compile up pcl/walk.lisp tools/worldload.lisp: o Load up pcl/walk.lisp
revision 1.71 date: 2004/01/09 05:18:08; author: toy; state: Exp; lines: +4 -3 Take out the fix for the problem of PCL optimizations being blindly applied to method parameters which are assigned to. This fixes a bug that shows up in McCLIM. (From Gerd, on cmucl-imp.)
revision 1.19 date: 2004/01/16 03:32:21; author: toy; state: Exp; lines: +34 -27 Update comments on address spaces.
revision 1.18 date: 2004/01/16 03:04:46; author: toy; state: Exp; lines: +7 -6 Get the starting addresses of spaces from Lisp via internals.h instead of being defined here and in a Lisp file.
revision 1.17 date: 2004/01/09 04:36:39; author: toy; state: Exp; lines: +6 -1 Define globals to hold the sizes of the read-only space, the binding stack, the static space and the control stack so we can print them out with ROOM.
revision 1.16 date: 2004/01/09 05:15:09; author: toy; state: Exp; lines: +30 -9 o Get the space_start values from internals.h o Increase the max heap space to 2816 MB from 2048 MB. (This is about as much as we can do, since some space is needed for the C stack located at high memory.)
revision 1.20 date: 2004/01/09 05:07:39; author: toy; state: Exp; lines: +53 -20 Update to sparc gencgc so that alloc-tn holds the current-region-free-pointer. Cross compile may be needed, but I'm not sure. I only used cross-compiling to do this change. sparc/macros.lisp: o Update the allocation macro appropriately for alloc-tn holding the current-region-free-pointer. lisp/gencgc.c: o Define macros for setting and getting *current-region-free-oointer* and *current-region-end-addr* so sparc can use alloc-tn. *current-region-free-pointer* isn't used anymore, but is still a static symbol. It's been replaced by alloc-tn. o On sparc, set_alloc_pointer doesn't need to do anything anymore. o Don't need to call update_dynamic_space_free_pointer anymore. o The assertion that *current-region-free-pointer* is a fixnum is no longer valid on sparc because that is alloc-tn which contains the pseudo-atomic bits. lisp/sparc-arch.c: o The allocation trap instruction is now preceeded by a SUB instruction. Handle that correctly. Keep support for the OR instruction for now, but should be removed. o Set alloc-tn from current_dynamic_space_free_pointer.
revision 1.12 date: 2004/01/10 05:10:42; author: toy; state: Exp; lines: +3 -1 valid_addr shouldn't test against DYNAMIC_1_SPACE_START in gencgc builds because there is no dynamic 1 space. (Minor opt.)
revision 1.11 date: 2004/01/09 04:39:06; author: toy; state: Exp; lines: +3 -1 Don't try to protect the hold for the dynamic_1 space when GENCGC is enabled, because there is no dynamic_1 space with GENCGC. This was causing CMUCL to segfault when using more than 512 MB of heap.
revision 1.2 date: 2004/01/16 03:26:56; author: toy; state: Exp; lines: +1 -1 Use full path for nm, since we don't support GNU nm or another other nm.
revision 1.10 date: 2004/01/10 05:09:26; author: toy; state: Exp; lines: +11 -3 Make the PAGE_SIZE 32K for sparc since that give performance at least as good as non-gencgc on sparc with Eric Marsden's cl-bench tests.
revision 1.50 date: 2004/01/09 23:05:32; author: toy; state: Exp; lines: +14 -21 Remove some unused code that we don't need anymore.
revision 1.49 date: 2004/01/09 15:14:57; author: toy; state: Exp; lines: +12 -1 Add comment from Douglas about what DIRECT_SCAV means.
revision 1.48 date: 2004/01/09 15:10:52; author: toy; state: Exp; lines: +2 -2 Oops. It's i386, not x86.
revision 1.47 date: 2004/01/09 05:07:39; author: toy; state: Exp; lines: +83 -28 Update to sparc gencgc so that alloc-tn holds the current-region-free-pointer. Cross compile may be needed, but I'm not sure. I only used cross-compiling to do this change. sparc/macros.lisp: o Update the allocation macro appropriately for alloc-tn holding the current-region-free-pointer. lisp/gencgc.c: o Define macros for setting and getting *current-region-free-oointer* and *current-region-end-addr* so sparc can use alloc-tn. *current-region-free-pointer* isn't used anymore, but is still a static symbol. It's been replaced by alloc-tn. o On sparc, set_alloc_pointer doesn't need to do anything anymore. o Don't need to call update_dynamic_space_free_pointer anymore. o The assertion that *current-region-free-pointer* is a fixnum is no longer valid on sparc because that is alloc-tn which contains the pseudo-atomic bits. lisp/sparc-arch.c: o The allocation trap instruction is now preceeded by a SUB instruction. Handle that correctly. Keep support for the OR instruction for now, but should be removed. o Set alloc-tn from current_dynamic_space_free_pointer.
revision 1.11 date: 2003/12/03 07:56:09; author: emarsden; state: Exp; lines: +4 -1 Add a pane-title for integers to the CLM inspector (fixes an error when inspecting integers using the Motif interface). Thanks to Raymond Toy for testing.
revision 1.108 date: 2004/01/20 17:52:10; author: toy; state: Exp; lines: +7 -2 Update.
revision 1.107 date: 2004/01/18 15:08:30; author: toy; state: Exp; lines: +5 -1 Update.
revision 1.106 date: 2003/12/02 17:10:03; author: toy; state: Exp; lines: +11 -2 o C functions in backtrace o PARSE-INTEGER note removed o rehash-threshold silently set to a minimum of 0.1 o Sparc port with Cheney GC is deprecated and will go away after the next release. o Some typo fixes.
revision 1.27 date: 2004/01/16 03:08:59; author: toy; state: Exp; lines: +11 -6 o Make target-read-only-space-start, target-static-space-start, and target-dynamic-space-start be defconstants so that they'll get dumped to internals.h. o Move the dynamic space start on Linux to a higher address so that CMUCL can run in an x86-64 CPU. o Move the start of the foreign linkage space higher on Linux too so that we don't lose as much heap space.
revision 1.17 date: 2004/01/16 03:24:49; author: toy; state: Exp; lines: +4 -1 Add docstring for read-cycle-counter.
revision 1.50 date: 2004/01/09 04:52:19; author: toy; state: Exp; lines: +8 -5 Put the space-start values into internals.h so we can refer to them. Then, there's only one place (Lisp) to maintain the space-start values. new-genesis.lisp: o Any constants ending with "-SPACE-START" are dumped to internals.h sparc/parms.lisp: o Make target-read-only-space-start, target-static-space-start, target-dynamic-space-start, and target-foreign-linkage-space-start defconstants instead of defparameters so that internals.h will have the values for use in C code.
revision 1.49 date: 2003/12/02 17:40:42; author: toy; state: Exp; lines: +7 -3 Don't export or define DYNAMIC-SPACE-OVERFLOW-WARNING or DYNAMIC-SPACE-OVERFLOW-ERROR if the :heap-overflow-check is not defined. (This was breaking sparc/non-gencgc builds.)
revision 1.14 date: 2004/01/15 16:14:37; author: toy; state: Exp; lines: +42 -13 Some micro-optimizations o MOVE-FROM-SIGNED uses a shorter sequence of instructions with fewer branch instructions to figure out if the number is a fixnum. o MOVE-FROM-UNSIGNED uses shorter sequence of instructions to set the bignum correctly.
revision 1.30 date: 2004/01/09 05:07:39; author: toy; state: Exp; lines: +30 -4 Update to sparc gencgc so that alloc-tn holds the current-region-free-pointer. Cross compile may be needed, but I'm not sure. I only used cross-compiling to do this change. sparc/macros.lisp: o Update the allocation macro appropriately for alloc-tn holding the current-region-free-pointer. lisp/gencgc.c: o Define macros for setting and getting *current-region-free-oointer* and *current-region-end-addr* so sparc can use alloc-tn. *current-region-free-pointer* isn't used anymore, but is still a static symbol. It's been replaced by alloc-tn. o On sparc, set_alloc_pointer doesn't need to do anything anymore. o Don't need to call update_dynamic_space_free_pointer anymore. o The assertion that *current-region-free-pointer* is a fixnum is no longer valid on sparc because that is alloc-tn which contains the pseudo-atomic bits. lisp/sparc-arch.c: o The allocation trap instruction is now preceeded by a SUB instruction. Handle that correctly. Keep support for the OR instruction for now, but should be removed. o Set alloc-tn from current_dynamic_space_free_pointer.
revision 1.29 date: 2003/12/03 17:52:17; author: toy; state: Exp; lines: +4 -4 WITH-FIXED-ALLOCATION must pass the temp-tn to ALLOCATION in all cases because we might be stack-allocating something.
revision 1.64 date: 2004/01/09 04:52:19; author: toy; state: Exp; lines: +4 -3 Put the space-start values into internals.h so we can refer to them. Then, there's only one place (Lisp) to maintain the space-start values. new-genesis.lisp: o Any constants ending with "-SPACE-START" are dumped to internals.h sparc/parms.lisp: o Make target-read-only-space-start, target-static-space-start, target-dynamic-space-start, and target-foreign-linkage-space-start defconstants instead of defparameters so that internals.h will have the values for use in C code.
revision 1.143 date: 2004/01/19 20:15:28; author: toy; state: Exp; lines: +41 -8 o Fix INTERVAL-RANGE-INFO some more. Put back the previous change (that we backed out) so (abs (the (double-float 0d0) x)) produces the correct result. o Add a kludge to INTERVAL-RANGE-INFO to handle the case of an interval -0.0 to 0.0 specially. INTERVAL-RANGE-INFO should return NIL instead of '- for this. o The fixes to INTERVAL-RANGE-INFO tickle a bug in INTERVAL-SPLIT where we weren't correctly splitting the the interval [-0.0, 0d0] into 2 intervals correctly. This was causing the compiler to loop forever deriving things. This is all a bit kludgy. Dealing with signed-zeroes is a pain.
revision 1.142 date: 2004/01/17 03:35:36; author: toy; state: Exp; lines: +3 -7 Revert previous change. It causes this function to infloop, blowing the stack: (defun foo (x) (declare (type (member 0d0 -0d0) x)) (/ 46666 x))
revision 1.141 date: 2004/01/10 05:07:19; author: toy; state: Exp; lines: +19 -6 o INTERVAL-RANGE-INFO was not returning the correct result for -0.0. This shows up in deriving the type of (abs (the (double-float 0d0))), which was (double-float 0d0), but should have been (or (member 0d0) (double-float (0d0)). o In TWO-ARG-DERIVE-TYPE, use our own same-leaf-ref-p in place of the real same-leaf-ref-p. We don't care if the leaf is not constant, only that they are the same leaf. This shows up in Eric Marsden's cl-bench where CMUCL was not able to deduce that z^2 is positive in mandelbrot/dfloat.
revision 1.139 date: 2004/01/16 14:15:16; author: toy; state: Exp; lines: +2 -2 COMPILE-FILE needs to merge the given file with *default-pathname-defaults*.
revision 1.138 date: 2003/12/02 16:59:13; author: toy; state: Exp; lines: +9 -5 MACROLET can have declaration forms which we weren't allowing previously. Allow them.
revision 1.167 date: 2003/12/02 16:59:12; author: toy; state: Exp; lines: +8 -5 MACROLET can have declaration forms which we weren't allowing previously. Allow them.
revision 1.97 date: 2004/01/10 05:01:41; author: toy; state: Exp; lines: +10 -1 Add a deftransform for ABS so that if the arg is known to be non-negative we don't have to call abs at all.
revision 1.96 date: 2004/01/09 04:20:59; author: toy; state: Exp; lines: +8 -4 The EXPT derive-type optimizer was incorrectly deriving the type for (expt). The result can be a rational, a float, or a complex single-float.
revision 1.44 date: 2004/01/09 04:42:57; author: toy; state: Exp; lines: +15 -3 Fix the source tracking hooks to work correctly. Also print out the "kind" (non-local entry, call-site, etc.) flag of the code-locations. From Helmut Eller on cmucl-imp, 2003-12-09
revision 1.67 date: 2004/01/20 17:32:20; author: toy; state: Exp; lines: +27 -26 Some ANSI compliance fixes found by Paul Dietz's tests. o PEEK-CHAR wasn't signaling end-of-file when recursive-p was true. o GENERALIZED-PEEKING-MECHANISM needs to handle EOF-DETECTED-FORM when the peek-type is NIL. o Make PEEK-CHAR with peek-type NIL handle RECURSIVE-P. o WRITE-LINE didn't like an explicit :END NIL. o READ-SEQUENCE didn't like reading things into a bit-vector from a "good" stream element type. If the sequence is a bit-vector, use the general read-into-vector to read the data. o READ-SEQUENCE wasn't returning the right value when reading into simple-strings with a non-zero :START value.
revision 1.66 date: 2004/01/19 20:04:09; author: toy; state: Exp; lines: +2 -2 PEEK-CHAR should determine whether a character is whitespace from the current readtable. Use that instead of whitespace-char-p. (Noted from Paul Dietz's ANSI tests.)
revision 1.34 date: 2004/01/16 03:13:10; author: toy; state: Exp; lines: +11 -1 Fix for (pprint '`(lambda ,x)) bug wherein the backquote implementation details leaks out. From SBCL.
revision 1.63 date: 2004/01/18 14:06:40; author: toy; state: Exp; lines: +14 -1 o MAKE-PATHNAME signals an error for the invalid combinations (CLHS 19.2.2.4.3): :absolute or :wild-inferiors immediately followed by :back or :up. (From Paul Dietz's ANSI tests.) o A continuable error is signaled if you try to clobber a search-list host with a logical-pathname host.
revision 1.56 date: 2004/01/09 04:18:06; author: toy; state: Exp; lines: +8 -2 Revert back to the old LCM algorithm instead of using the reference given in CLHS. That was twice as slow as the old algorithm.
revision 1.24 date: 2004/01/18 13:47:55; author: toy; state: Exp; lines: +2 -2 LOOP accepts NIL as the variable if arithmetic loops, such as (loop for nil from 0 to 5 do (print "x"))
revision 1.39 date: 2004/01/09 04:22:48; author: toy; state: Exp; lines: +23 -9 When printing out the minimal ROOM info, include the max sizes for each space (for information purposes).
revision 1.5 date: 2004/01/09 04:34:17; author: toy; state: Exp; lines: +2 -8 TRACE was broken if CMUCL wasn't built from a version that included PCL, because it needed PCL's walker code. Fix this by always building with PCL's walker, which is independent of PCL: code/fwrappers.lisp: o Always use the PCL version, assuming PCL walker is included. pcl/defsys.lisp: o Don't build walk.lisp here, because it's built as a part of CMUCL. o Fix up dependencies. tools/worldcom.lisp: o Compile up pcl/walk.lisp tools/worldload.lisp: o Load up pcl/walk.lisp
revision 1.78 date: 2004/01/09 15:09:27; author: toy; state: Exp; lines: +2 -2 The pathname for PROBE-FILE is supposed to be merged with *DEFAULT-PATHNAME-DEFAULTS*
revision 1.77 date: 2004/01/09 04:11:07; author: toy; state: Exp; lines: +3 -2 DIRECTORY is supposed to merge the given pathname with *DEFAULT-PATHNAME-DEFAULTS*
revision 1.12 date: 2004/01/16 03:13:09; author: toy; state: Exp; lines: +5 -2 Fix for (pprint '`(lambda ,x)) bug wherein the backquote implementation details leaks out. From SBCL.
revision 1.1 date: 2004/01/15 15:24:03; author: toy; state: Exp; Cross-compile script for the faster gencgc allocator on sparc. (A cross-compile may not have been necessary, but I didn't try it.)