diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 18:04:46 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 18:04:46 +0400 |
commit | ffa0c9ea38b3dd87e91b5ed2118c74002fed6782 (patch) | |
tree | f9003135a48276ce8396f87b485b607afbcfc09b /misc.c | |
parent | f4549e6f616d1b976126e1afddde3fb15c88bb08 (diff) | |
download | bdwgc-ffa0c9ea38b3dd87e91b5ed2118c74002fed6782.tar.gz |
gc6.4 tarball importgc6_4
Diffstat (limited to 'misc.c')
-rw-r--r-- | misc.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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; |