/[cmucl]/src/lisp/gencgc.c
ViewVC logotype

Log of /src/lisp/gencgc.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to cold-pcl: (view) (annotate)
Sticky Tag:

Revision 1.31.2.1 - (view) (annotate) - [select for diffs]
Sun Mar 9 12:51:56 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.31: +410 -315 lines
Diff to previous 1.31 , to next main 1.112
*** empty log message ***

Revision 1.31 - (view) (annotate) - [select for diffs]
Wed Feb 12 20:52:37 2003 UTC (11 years, 2 months ago) by emarsden
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: cold-pcl, release-18e-branch
Changes since 1.30: +9 -1 lines
Diff to previous 1.30
Add a more informative error message to the stuff that is printed to the
terminal when gencgc exhausts dynamic space.

Revision 1.30 - (view) (annotate) - [select for diffs]
Wed Jan 29 21:28:27 2003 UTC (11 years, 2 months ago) by cracauer
Branch: MAIN
Changes since 1.29: +1 -6 lines
Diff to previous 1.29
Remove a #ifdef ITA which sneaked in with the profiler changes.  No
functional change for normal builds.

Revision 1.29 - (view) (annotate) - [select for diffs]
Wed Jan 29 02:23:49 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28
Export print_generation_stats.

Revision 1.28 - (view) (annotate) - [select for diffs]
Tue Nov 5 22:45:48 2002 UTC (11 years, 5 months ago) by cracauer
Branch: MAIN
Changes since 1.27: +108 -5 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:31 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: +80 -26 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]
Mon Jan 28 20:19:39 2002 UTC (12 years, 2 months ago) by pmai
Branch: MAIN
CVS Tags: PRE_LINKAGE_TABLE
Changes since 1.25: +10 -3 lines
Diff to previous 1.25
Added specialised port to NetBSD (1.5.2) on x86.  Since the code-base
was already cleaned up with the OpenBSD port, this doesn't require
massive changes.

Since current NetBSD is ELF-based by default, we don't make use of the
ELF feature, or in other words:  The presence of the NetBSD feature
implies ELF, since there is no support for non-ELF NetBSD.

The page-protection feature of the generational GC had to be turned
off, because currently NetBSD 1.5.2 doesn't provide access to the
faulting memory address in SIGSEGV signal-handlers on the x86
platform.

The memory is validated/mmapped in 64MB chunks in os-validate, in
order to circumvent a restriction on NetBSD, that prevented me from
mmapping 128MB or more apiece.  It has been pointed out to me that
this may be caused by the default ulimit on data segment sizes, which
seems kind of strange, but might be true.  In any case the current
approach works OK, and doesn't require root interaction, so is
probably the better approach.

Revision 1.25 - (view) (annotate) - [select for diffs]
Thu Dec 6 19:15:44 2001 UTC (12 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24
Added specialised port to OpenBSD (2.9).  Many parts of the original
code which were previously conditionalized on :FreeBSD, are now
conditionalized on :BSD instead, with the :BSD feature now implying a
4.4BSD(lite2) derived OS.  This should make future BSD-ports easier.
FreeBSD and OpenBSD are differentiated by having either :FreeBSD or
:OpenBSD on the features list.

Currently the OpenBSD port does not have working ELF support, because
OpenBSD 2.9 is still non-ELF by default.  So don't put ELF on the
features list when building for OpenBSD, or fix the code to work
correctly in this case instead.

Revision 1.24 - (view) (annotate) - [select for diffs]
Fri Oct 27 19:25:55 2000 UTC (13 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.23: +6 -5 lines
Diff to previous 1.23
Cleanup compiler warnings.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Oct 24 13:32:31 2000 UTC (13 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.22: +40 -24 lines
Diff to previous 1.22
o Add the command line switch -dynamic-space-size for setting the size
  of the dynamic space. DYNAMIC_SPACE_SIZE now defines the maximum
  size, and when defined DEFAULT_DYNAMIC_SPACE_SIZE gives the default.

o Increase the maximum dynamic space size for Linux x86 to 1.625GB,
  with the default remaining at 512MB.

o Define the default dynamic space size for FreeBSD x86 to also be 512MB,
  with a maximum of 2GB.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Oct 21 12:50:42 2000 UTC (13 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.21: +9 -7 lines
Diff to previous 1.21
Use the value 0xffffffff to represent auto_gc_trigger disabled rather
than zero, simplifying the trigger test.

Revision 1.21 - (view) (annotate) - [select for diffs]
Tue Sep 5 08:51:51 2000 UTC (13 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.20: +3 -2 lines
Diff to previous 1.20
Minor source cleanups.

Revision 1.20 - (view) (annotate) - [select for diffs]
Sun Aug 27 14:45:41 2000 UTC (13 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.19: +16 -30 lines
Diff to previous 1.19
Misc source cleanup.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Jun 22 12:55:19 2000 UTC (13 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.18: +3 -1 lines
Diff to previous 1.18
Flush a verbose debug message that occurred rarely during code fixups.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Jan 19 18:09:16 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.17: +1 -10 lines
Diff to previous 1.17
Flush references to zero_stack as this has been handled by
scrub-control-stack for some time.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sun Jan 9 19:36:07 2000 UTC (14 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.16: +105 -105 lines
Diff to previous 1.16
Replace the PAGE_BYTES define with PAGE_SIZE, and use it where
appropriate rather than the constant 4096.

Remove uses of the variable last_used_page.

Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Sep 16 15:25:18 1999 UTC (14 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15
Portability fix for the signal masked check in alloc.

Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Aug 25 14:25:06 1999 UTC (14 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.14: +287 -273 lines
Diff to previous 1.14
Improve the packing of information into the page table, reducing the
table size by 25%, and move to a fixed layout of the page flags to
better support future atomic operations for threaded code.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sat Aug 21 18:03:25 1999 UTC (14 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.13: +2387 -2052 lines
Diff to previous 1.13
Source cleanup.

Revision 1.13 - (view) (annotate) - [select for diffs]
Sat Dec 19 16:32:56 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.12: +5 -4 lines
Diff to previous 1.12
Few fixes for the page zero check in gc_free_heap; work around a gcc
problem, and limit the range of pages to be checked.

Revision 1.12 - (view) (annotate) - [select for diffs]
Wed Dec 16 12:38:05 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11
Fix a bug in the page zero checking code of gc_free_heap.

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat Mar 21 07:45:51 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.10: +162 -1 lines
Diff to previous 1.10
Save and reset FP state during the execution of
print_generation_stats. This is necessary when this function is called
directly from the allocation routines on a failure and the FP state is
setup for Lisp.

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Mar 10 18:30:24 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.9: +52 -3 lines
Diff to previous 1.9
Add verify_zero_fill to verify that the free memory is zero filled;
helping detect heap corruption. The check can be enabled during a heap
verify via gencgc_enable_verify_zero_fill, or it can be called from
lisp via the alien function gencgc_verify_zero_fill.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Jan 14 10:40:58 1998 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8
Make search_dynamic_space an external as it is need by purify.  Make
valid_dynamic_space_pointer a static local as a similarly name
function is used by purify.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Dec 31 18:07:42 1997 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.7: +25 -9 lines
Diff to previous 1.7
Enhance scavenge_thread_stacks to only scavenge the live portion of
the saved stack vectors.

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Dec 25 09:33:48 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.6: +11 -3 lines
Diff to previous 1.6
Take more care when scavenging the Lisp functions of the interrupt
handlers, taking care to avoid SIG_DFL, and SIG_IGN which is equal to
1 on FreeBSD and looks like a forwarding point which causes trouble.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Dec 3 08:17:02 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.5: +59 -62 lines
Diff to previous 1.5
Further cleanup of the interrupts masked check in alloc.

Cleanup the verbose messages, making them all dependent on the verbose
level, and disable them all by default.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Dec 2 02:50:45 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.4: +19 -20 lines
Diff to previous 1.4
Add some pointer coercions to reduce the number of compiler warnings.

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Dec 1 16:44:57 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.3: +7 -2 lines
Diff to previous 1.3
Disable a test in alloc that tested that interrupts were disabled in
non-pseudo-atomic allocations, because this code has been debugged now
and the test may not have been very portable.

Revision 1.3 - (view) (annotate) - [select for diffs]
Sun Nov 30 05:08:29 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.2: +73 -42 lines
Diff to previous 1.2
Improve the efficiency of gc_free_heap by having it assume free pages
are zero filled and not write protected which should be the case.

Make more of the consistency checks conditional and disable them all.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Nov 29 20:32:41 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1
Comment out verbose message in maybe_adjust_large_object.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Nov 25 17:59:18 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Conservative generational garbage collection for the x86 port.

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