Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Molaro <lupus@oddwiz.org>2006-01-24 14:37:10 +0300
committerPaolo Molaro <lupus@oddwiz.org>2006-01-24 14:37:10 +0300
commitd58dfa185af1d48fb93efdef1d046762f214f0a7 (patch)
treef851d10caf20d342811d58d624fcdcbd92fe4151 /libgc/misc.c
parent3be1eb27881d243559d4ab0baf7b538334c7e1b3 (diff)
Tue Jan 24 12:34:06 CET 2006 Paolo Molaro <lupus@ximian.com>
* *: update from upstream changes. svn path=/trunk/mono/; revision=55979
Diffstat (limited to 'libgc/misc.c')
-rw-r--r--libgc/misc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libgc/misc.c b/libgc/misc.c
index 5b10feeb961..52567b7ded8 100644
--- a/libgc/misc.c
+++ b/libgc/misc.c
@@ -246,7 +246,7 @@ void *arg2;
byte_sz = WORDS_TO_BYTES(word_sz);
if (GC_all_interior_pointers) {
/* We need one extra byte; don't fill in GC_size_map[byte_sz] */
- byte_sz--;
+ byte_sz -= EXTRA_BYTES;
}
for (j = low_limit; j <= byte_sz; j++) GC_size_map[j] = word_sz;
@@ -804,7 +804,10 @@ void GC_init_inner()
void GC_enable_incremental GC_PROTO(())
{
-# if !defined(SMALL_CONFIG)
+# if !defined(SMALL_CONFIG) && !defined(KEEP_BACK_PTRS)
+ /* If we are keeping back pointers, the GC itself dirties all */
+ /* pages on which objects have been marked, making */
+ /* incremental GC pointless. */
if (!GC_find_leak) {
DCL_LOCK_STATE;