summaryrefslogtreecommitdiff
path: root/alloc.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-02-27 20:07:07 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-02-28 00:58:19 +0300
commit59ac9b43d9254e6c56f9ab632c8d8cb337a8c5aa (patch)
tree71d8fbb27dd30828d3a4db7cbd69772f5e3318ab /alloc.c
parent96b77c093b2c565396731afc33168a509ec53ade (diff)
downloadbdwgc-59ac9b43d9254e6c56f9ab632c8d8cb337a8c5aa.tar.gz
Avoid unmap of memory allocated during GC init regardless of threshold
* alloc.c [USE_MUNMAP] (GC_finish_collection): Do not call GC_unmap_old() at the first GC; add comment.
Diffstat (limited to 'alloc.c')
-rw-r--r--alloc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/alloc.c b/alloc.c
index a72db17e..bb2071cf 100644
--- a/alloc.c
+++ b/alloc.c
@@ -1193,7 +1193,8 @@ STATIC void GC_finish_collection(void)
GC_start_reclaim(FALSE);
# ifdef USE_MUNMAP
- GC_unmap_old();
+ if (EXPECT(GC_gc_no != 1, TRUE)) /* do not unmap during GC init */
+ GC_unmap_old();
GC_ASSERT(GC_heapsize >= GC_unmapped_bytes);
# endif