summaryrefslogtreecommitdiff
path: root/alloc.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-04-28 09:49:36 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-04-29 08:20:46 +0300
commit4bd63aa8202f0f794c91168f81c54938f67d1d80 (patch)
tree4fbcfbb586f8dac008023d2f17733927732aa606 /alloc.c
parent78ce98ebac7066e8799762c1fc4f8bbc754756a6 (diff)
downloadbdwgc-4bd63aa8202f0f794c91168f81c54938f67d1d80.tar.gz
Remove USED_HEAP_SIZE macro
(refactoring) * allchblk.c (GC_allochblk): Replace USED_HEAP_SIZE to GC_heapsize-GC_large_free_bytes. * alloc.c (GC_finish_collection): Likewise. * alloc.c (GC_finish_collection): Avoid potential underflow when subtracting GC_used_heap_size_after_full from USED_HEAP_SIZE. * include/private/gc_priv.h (USED_HEAP_SIZE): Remove macro.
Diffstat (limited to 'alloc.c')
-rw-r--r--alloc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/alloc.c b/alloc.c
index 503d9e8b..83a12e7d 100644
--- a/alloc.c
+++ b/alloc.c
@@ -1219,11 +1219,11 @@ STATIC void GC_finish_collection(void)
+ sizeof(GC_arrays)));
GC_DBGLOG_PRINT_HEAP_IN_USE();
if (GC_is_full_gc) {
- GC_used_heap_size_after_full = USED_HEAP_SIZE;
+ GC_used_heap_size_after_full = GC_heapsize - GC_large_free_bytes;
GC_need_full_gc = FALSE;
} else {
- GC_need_full_gc = USED_HEAP_SIZE - GC_used_heap_size_after_full
- > min_bytes_allocd();
+ GC_need_full_gc = GC_heapsize - GC_used_heap_size_after_full
+ > min_bytes_allocd() + GC_large_free_bytes;
}
/* Reset or increment counters for next cycle */