From 1d2e8299a2464b76c7540b4a87caa69c9b208906 Mon Sep 17 00:00:00 2001 From: ivmai Date: Wed, 23 Sep 2009 06:53:48 +0000 Subject: [PATCH] 2009-09-23 Ivan Maidanski * Makefile.direct (LARGE_CONFIG): Update information. * include/gc.h (GC_stop_func): Refine the comment. --- ChangeLog | 5 +++++ Makefile.direct | 5 +++-- include/gc.h | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7af15f1e..2dfe7640 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-09-23 Ivan Maidanski + + * Makefile.direct (LARGE_CONFIG): Update information. + * include/gc.h (GC_stop_func): Refine the comment. + 2009-09-21 Ivan Maidanski * configure.ac: Use EMPTY_GETENV_RESULTS instead of NO_GETENV for diff --git a/Makefile.direct b/Makefile.direct index 124135b6..7b49dc68 100644 --- a/Makefile.direct +++ b/Makefile.direct @@ -106,8 +106,9 @@ HOSTCFLAGS=$(CFLAGS) # usually causing it to use less space in such situations. # Incremental collection no longer works in this case. # -DLARGE_CONFIG tunes the collector for unusually large heaps. -# Necessary for heaps larger than about 500 MB on most machines. -# Recommended for heaps larger than about 64 MB. +# Necessary for heaps larger than about 4 GiB on most (64-bit) machines. +# Recommended for heaps larger than about 500 MiB. Not recommended for +# embedded systems. # -DDONT_ADD_BYTE_AT_END is meaningful only with -DALL_INTERIOR_POINTERS or # GC_all_interior_pointers = 1. Normally -DALL_INTERIOR_POINTERS # causes all objects to be padded so that pointers just past the end of diff --git a/include/gc.h b/include/gc.h index 666fd237..6ef6c650 100644 --- a/include/gc.h +++ b/include/gc.h @@ -472,7 +472,10 @@ GC_API void GC_CALL GC_gcollect(void); /* Trigger a full world-stopped collection. Abort the collection if */ /* and when stop_func returns a nonzero value. Stop_func will be */ -/* called frequently, and should be reasonably fast. This works even */ +/* called frequently, and should be reasonably fast. (stop_func is */ +/* called with the allocation lock held and the world is stopped; it is */ +/* not allowed for stop_func to manipulate pointers to the garbage */ +/* collected heap or call most of GC functions.) This works even */ /* if virtual dirty bits, and hence incremental collection is not */ /* available for this architecture. Collections can be aborted faster */ /* than normal pause times for incremental collection. However, */ -- 2.40.0