/[cmucl]/src/code/gc.lisp
ViewVC logotype

Log of /src/code/gc.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to merge-sse2-packed: (view) (annotate)
Sticky Tag:

Revision 1.42 - (view) (annotate) - [select for diffs]
Mon Jan 31 18:02:58 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, intl-2-branch-base, intl-branch-base, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-merge-intl-branch, pre-telent-clx, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-string-buffer-base, unicode-string-buffer-impl-base, unicode-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, amd64-dd-branch, double-double-array-branch, double-double-branch, double-double-reader-branch, intl-2-branch, intl-branch, portable-clx-branch, ppc_gencgc_branch, release-19b-branch, release-19c-branch, release-19d-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.41: +2 -2 lines
Diff to previous 1.41
Scott Burson, cmucl-imp, 2005-01-26 says pre-gc-dyn-usage is sometimes
equal to *gc-trigger*, and that was causing GC not to happen in some
cases on x86.  He said changing > to >= in sub-gc fixes this problem.

Revision 1.41 - (view) (annotate) - [select for diffs]
Thu Jan 27 14:54:10 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.40: +11 -4 lines
Diff to previous 1.40
o With the heaps larger than most-positive-fixnum bytes,
  *last-bytes-in-use* and *gc-trigger* should be (unsigned-byte 32)
  instead fixnums.

o Add simple docstring for gencgc-stats.

Revision 1.40 - (view) (annotate) - [select for diffs]
Mon Aug 2 16:03:54 2004 UTC (9 years, 8 months ago) by cwang
Branch: MAIN
CVS Tags: snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01
Changes since 1.39: +7 -5 lines
Diff to previous 1.39
Make (room) on amd64 report the correct numbers.

Revision 1.39 - (view) (annotate) - [select for diffs]
Fri Jan 9 04:22:48 2004 UTC (10 years, 3 months ago) by toy
Branch: MAIN
CVS Tags: amd64-merge-start, mod-arith-base, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08
Branch point for: mod-arith-branch, release-19a-branch
Changes since 1.38: +23 -9 lines
Diff to previous 1.38
When printing out the minimal ROOM info, include the max sizes for each space
(for information purposes).

Revision 1.38 - (view) (annotate) - [select for diffs]
Wed Oct 15 15:21:49 2003 UTC (10 years, 6 months ago) by toy
Branch: MAIN
CVS Tags: snapshot-2003-11, snapshot-2003-12
Changes since 1.37: +6 -6 lines
Diff to previous 1.37
Use larger field width when printing out minimal room info so the
columns line up neatly with large heaps.

Revision 1.37 - (view) (annotate) - [select for diffs]
Thu Sep 25 02:40:12 2003 UTC (10 years, 7 months ago) by toy
Branch: MAIN
CVS Tags: snapshot-2003-10
Changes since 1.36: +4 -1 lines
Diff to previous 1.36
Implmement Pierre Mai's idea of adding 2 macros for setting *FEATURES*
and *RUNTIME-FEATURES* and setting them appropriately as files are
loaded so that recompiling CMUCL produces a result with the same set
of features.  *RUNTIME-FEATURES* is a subset of *FEATURES* that is
written out to internals.h so the C code can be compiled
appropriately.

A simple bootstrap with boot17 is needed.

Revision 1.36 - (view) (annotate) - [select for diffs]
Tue Aug 5 11:00:49 2003 UTC (10 years, 8 months ago) by emarsden
Branch: MAIN
CVS Tags: dynamic-extent-base, lisp-executable-base, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, sparc_gencgc_branch
Changes since 1.35: +2 -2 lines
Diff to previous 1.35
Fix typos.

Revision 1.35 - (view) (annotate) - [select for diffs]
Thu May 29 12:35:05 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.34: +10 -8 lines
Diff to previous 1.34
	Building with cgc.

	* src/lisp/Config.FreeBSD (NM): Use linux-nm.

	* src/code/gc.lisp: Use bytes_allocated for cgc because
	get_bytes_allocated_{lower,higher} is only implemented for
	gencgc.

Revision 1.34 - (view) (annotate) - [select for diffs]
Fri Apr 11 15:17:45 2003 UTC (11 years ago) by pmai
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.33: +3 -3 lines
Diff to previous 1.33
Merged changes made during the 18e freeze period back into the main branch.

Revision 1.33 - (view) (annotate) - [select for diffs]
Wed Feb 12 18:35:29 2003 UTC (11 years, 2 months ago) by cracauer
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: cold-pcl, release-18e-branch
Changes since 1.32: +9 -5 lines
Diff to previous 1.32
Fix a problem with the consing-free allocation counter.  If you
allocate more than most-positive-fixnum bytes between two GCs, do a
normal, possibly consing addition instead of the fast dfixnum
increment.

Also clean up the exports of the dfixnum package and define a new
operator to increment a dfixnum by any integer.

Tested: full ITA testsuite, tried the profiler, tried various
allocation patterns which failed before this fix.

Revision 1.32 - (view) (annotate) - [select for diffs]
Tue Jan 28 02:49:15 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.31: +2 -3 lines
Diff to previous 1.31
Remove some undefined exported symbols.

Revision 1.31 - (view) (annotate) - [select for diffs]
Mon Jan 6 15:10:16 2003 UTC (11 years, 3 months ago) by toy
Branch: MAIN
Changes since 1.30: +4 -4 lines
Diff to previous 1.30
Precede compiler messages with a semi-colon.  Error messages don't
have the semi-colon prefix.

Revision 1.30 - (view) (annotate) - [select for diffs]
Tue Nov 19 12:38:55 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.29: +9 -15 lines
Diff to previous 1.29
Fix a few typos/mistakes in the precise profiling update that changed
the return type of get-bytes-consed (inadvertently).  From Martin,
with a few typos fixed.

Revision 1.29 - (view) (annotate) - [select for diffs]
Thu Nov 7 16:07:23 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.28: +4 -1 lines
Diff to previous 1.28
Fix typo on the dfixnum profile changes so this works on non-x86
platforms.

Revision 1.28 - (view) (annotate) - [select for diffs]
Tue Nov 5 22:45:40 2002 UTC (11 years, 5 months ago) by cracauer
Branch: MAIN
Changes since 1.27: +75 -17 lines
Diff to previous 1.27
Make (time ...) and the profiler do precise measuring of space
allocation.  It will also not overflow or bomb out when consing
amounts cross most-positive fixnum.

The new profiler also has an interface to plug in your own print
function (also dictates sorting or results).

This is written on gencgc/x86 but tests indicated the fallsbacks for
other platforms work.

The dfixnum package included here is sketchy.

Revision 1.27 - (view) (annotate) - [select for diffs]
Tue Aug 27 22:18:24 2002 UTC (11 years, 7 months ago) by moore
Branch: MAIN
CVS Tags: LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.26: +39 -1 lines
Diff to previous 1.26
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved.
They now go through a table -- effectively a new space in the core file.
Function references are resolved lazily, data references are resolved on startup
and when a .so is loaded.  The end result is that cores can be dumped that
contain references to symbols in shared libraries.  Also, the dependence of the core on addresses in the Lisp runtime is broken.

The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C
runtime.  Several foreign symbols are now Lisp static symbols, so a cross
compile is required whether or not the new stuff is used.  I've checked in
boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:)  Seriously, lets start
a discussion on standardizing "cross compilation," not to mention the general
build procedure.

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue Apr 10 13:42:44 2001 UTC (13 years ago) by pw
Branch: MAIN
CVS Tags: PRE_LINKAGE_TABLE
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
Add a few inhibit-warnings declaration to reduce noise in compile-lisp.log.

Revision 1.25 - (view) (annotate) - [select for diffs]
Sun Mar 4 20:12:36 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24
Change most PROCLAIMs to DECLAIMs.

Revision 1.24 - (view) (annotate) - [select for diffs]
Sat Dec 4 16:02:35 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23
Minor documentation fixes.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Nov 4 16:00:14 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.22: +19 -4 lines
Diff to previous 1.22
GENCGC interface.

Revision 1.22 - (view) (annotate) - [select for diffs]
Tue Nov 4 09:10:44 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.21: +4 -4 lines
Diff to previous 1.21
Merge in changes to the x86 backend from the gencgc branch, allowing
common binaries to be run on both:

* The immediate-stack storage class has been removed, this is
unnecessary as the descriptor-stack SC can be used. It may have once
been part of some GC stragety to reduce the number of stack slots that
needed to be noted for a GC.

* The object allocation has been abstracted and cleaned up. This
should produce slightly faster smaller code with CGC, and can be
compiled to support inline allocation with GENCGC.  CGC compiled code
will run under GENCGC, and GENCGC binaries that don't use inline
allocation will run under CGC.

* A random hash is now placed in the unused symbol object slot (the
symbol-hash slot). This saves flushing the info cache at each GC, and
may have other uses for symbol based hash tables. Should help MP
safety.

* Common set of static symbols used by both CGC and GENCGC.

* Corrections to the stack-ref VOP; now returns lisp objects not
unsigned numbers. Required some patches to debug-int.

* Inline unsigned/signed byte 32 to bignum allocation enabled.

* Support for the x86 xadd instruction applied to instance slot and
symbol values - may be handy for some MP code.

* Bump up the FASL file version from 1 to 2.

Revision 1.21 - (view) (annotate) - [select for diffs]
Sat Feb 8 21:08:01 1997 UTC (17 years, 2 months ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.20: +2 -2 lines
Diff to previous 1.20
Fix bug introduced with p86 merge for non-x86 ports, noted by Ray:
control-stack should be control-stack-start

Revision 1.20 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:30:34 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.19: +16 -8 lines
Diff to previous 1.19
Werkowskis source kit 1.03.7

Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.18: +1 -3 lines
Diff to previous 1.18
Fix headed boilerplate.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Feb 14 11:51:10 1994 UTC (20 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.17: +14 -11 lines
Diff to previous 1.17
Don't try to do verbose room if it isn't loaded.

Revision 1.17 - (view) (annotate) - [select for diffs]
Thu Aug 5 17:17:10 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.16: +2 -1 lines
Diff to previous 1.16
Added scrub-control-stack before call to sub-gc in
%set-bytes-consed-between-gcs so that hopefully callers won't have to do it.

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:25:31 1993 UTC (21 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.15: +4 -4 lines
Diff to previous 1.15
new structure branch & tuning, see new_struct

Revision 1.15 - (view) (annotate) - [select for diffs]
Tue Jun 23 14:56:58 1992 UTC (21 years, 10 months ago) by wlott
Branch: MAIN
Branch point for: new_struct
Changes since 1.14: +2 -2 lines
Diff to previous 1.14
Changed the type of *TOTAL-BYTES-CONSED* from fixnum to integer because it
is very easy to cons more than most-positive-fixnum bytes.  It just takes a
while.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sun Mar 29 21:37:24 1992 UTC (22 years ago) by wlott
Branch: MAIN
Changes since 1.13: +23 -3 lines
Diff to previous 1.13
Added BYTES-CONSED-BETWEEN-GCS, a function that returns (and sets when 
used with setf) *BYTES-CONSED-BETWEEN-GCS*.  Additionally, it changes
*GC-TRIGGER* immediately to reflect the new values of *bytes-consed...*.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Mar 26 05:55:23 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12
Was testing the wrong special in ROOM when printing out whether or not the
garbage collector was enabled.

Revision 1.12 - (view) (annotate) - [select for diffs]
Thu Mar 26 03:24:14 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.11: +36 -32 lines
Diff to previous 1.11
Added GC-INIT to facilitate making sure set-auto-gc-trigger.  Changed
room-minimal-info to print everything that doesn't use map-allocated-
objects and also to indicate whether or not the garbage collector is
currenty on or off.  Changed sub-gc to handle updating *total-bytes-consed*
instead of having %GC do it so that it happens even when *internal-gc*
is bound to something else.  Flush %GC because it now does nothing but
call COLLECT-GARBAGE.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Feb 19 19:19:00 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
Branch point for: gengc
Changes since 1.10: +41 -20 lines
Diff to previous 1.10
Added *GC-RUN-TIME* accounting.  Added some declarations, primarily for the
benefit of GET-BYTES-CONSED.

Revision 1.10 - (view) (annotate) - [select for diffs]
Fri Feb 14 23:44:56 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.9: +7 -9 lines
Diff to previous 1.9
Merged new-alien changes onto trunk.

Revision 1.9 - (view) (annotate) - [select for diffs]
Thu Nov 7 12:37:17 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.8: +20 -1 lines
Diff to previous 1.8
Added RT support for the GC trigger.  One the RT, we can't use the page
fault mechanism so we have to explicitly test the GC trigger.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sat May 4 17:00:25 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.7: +19 -13 lines
Diff to previous 1.7
Made ROOM be much more verbose, calling MEMORY-USAGE and STRUCTURE-USAGE in
various ways.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sun Apr 21 22:12:05 1991 UTC (23 years ago) by ram
Branch: MAIN
Changes since 1.6: +38 -35 lines
Diff to previous 1.6
Fixed up the logic in SUB-GC somewhat so that it will always reset the GC
trigger page protections whenever it changes the lisp *GC-TRIGGER*.  This
should prevent problems with GC never happening when the reclaim goal is
increased.  Also, merged Bill's fix from the old system whereby we only frob
*GC-INHIBIT* related to the inhibit hook when the hook returns T.

And I changed the default before&after hooks to not beep unless *GC-VERBOSE* is
:BEEP, which is *not* the default.

Revision 1.6 - (view) (annotate) - [select for diffs]
Sun Mar 17 14:25:29 1991 UTC (23 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.5: +30 -26 lines
Diff to previous 1.5
Wrapped a without-interrupts around the guts of maybe-gc so that the
notify messages and state updates don't get seperated from the actual
gc.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Oct 13 04:51:06 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.4: +24 -7 lines
Diff to previous 1.4
Added stuff to automatically trigger a GC when we exceed *gc-trigger*.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:11:14 1990 UTC (23 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.3: +102 -342 lines
Diff to previous 1.3
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Apr 23 13:37:24 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2
current-cont -> current-fp.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Feb 22 10:30:40 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +45 -37 lines
Diff to previous 1.1
Merged with working code version as of 2/22/90.  This was for *gc-verbose*.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 17:24:29 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5