diff options
author | Bryce McKinlay <bryce@waitaki.otago.ac.nz> | 2002-02-12 04:37:57 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2002-02-12 04:37:57 +0000 |
commit | 79f777fd1e10435cb50c4b45a664bd6ae280f2c1 (patch) | |
tree | cef3197531d988920cbff060bdc10742baf06d01 /boehm-gc/reclaim.c | |
parent | 005326029f35b4271c5274114a17126039fe18a0 (diff) | |
download | gcc-79f777fd1e10435cb50c4b45a664bd6ae280f2c1.zip gcc-79f777fd1e10435cb50c4b45a664bd6ae280f2c1.tar.gz gcc-79f777fd1e10435cb50c4b45a664bd6ae280f2c1.tar.bz2 |
Imported GC 6.1 Alpha 3. Finally.
From-SVN: r49698
Diffstat (limited to 'boehm-gc/reclaim.c')
-rw-r--r-- | boehm-gc/reclaim.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/boehm-gc/reclaim.c b/boehm-gc/reclaim.c index 48db1e2..846215e 100644 --- a/boehm-gc/reclaim.c +++ b/boehm-gc/reclaim.c @@ -631,47 +631,41 @@ COUNT_DECL ptr_t result = list; GC_ASSERT(GC_find_header((ptr_t)hbp) == hhdr); + GC_remove_protection(hbp, 1, (hhdr)->hb_descr == 0 /* Pointer-free? */); if (init) { switch(sz) { # if !defined(SMALL_CONFIG) && !defined(USE_MARK_BYTES) case 1: /* We now issue the hint even if GC_nearly_full returned */ /* DONT_KNOW. */ - GC_write_hint(hbp); result = GC_reclaim1(hbp, hhdr, list COUNT_ARG); break; case 2: - GC_write_hint(hbp); result = GC_reclaim_clear2(hbp, hhdr, list COUNT_ARG); break; case 4: - GC_write_hint(hbp); result = GC_reclaim_clear4(hbp, hhdr, list COUNT_ARG); break; # endif /* !SMALL_CONFIG && !USE_MARK_BYTES */ default: - GC_write_hint(hbp); result = GC_reclaim_clear(hbp, hhdr, sz, list COUNT_ARG); break; } } else { + GC_ASSERT((hhdr)->hb_descr == 0 /* Pointer-free block */); switch(sz) { # if !defined(SMALL_CONFIG) && !defined(USE_MARK_BYTES) case 1: - GC_write_hint(hbp); result = GC_reclaim1(hbp, hhdr, list COUNT_ARG); break; case 2: - GC_write_hint(hbp); result = GC_reclaim_uninit2(hbp, hhdr, list COUNT_ARG); break; case 4: - GC_write_hint(hbp); result = GC_reclaim_uninit4(hbp, hhdr, list COUNT_ARG); break; # endif /* !SMALL_CONFIG && !USE_MARK_BYTES */ default: - GC_write_hint(hbp); result = GC_reclaim_uninit(hbp, hhdr, sz, list COUNT_ARG); break; } |