/[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 UNICODE-BASE: (view) (annotate)
Sticky Tag:

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, 1 month 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