]> granicus.if.org Git - gc/commit
Fix FAST_MALLOC_GRANS and malloc_many for MANUAL_VDB
authorIvan Maidanski <ivmai@mail.ru>
Sat, 19 May 2018 09:02:00 +0000 (12:02 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Sat, 19 May 2018 09:02:00 +0000 (12:02 +0300)
commite5fb574cf6c12593666cefeb5c005b1a1752af74
treecf030e5441f710b0f7bb542a2ed202ff0a6f1fdc
parent6a44e6b5fd93c575684baf7ed576353507f9d7ff
Fix FAST_MALLOC_GRANS and malloc_many for MANUAL_VDB
(fix of commit 73d30d2)

This commit actually disables multiple objects allocation in
GC_generic_malloc_many (if MANUAL_VDB and the incremental mode is on);
the proper implementation would require GC_dirty call for each of the
allocated object (except for the last one).

* include/gc_inline.h (GC_FAST_MALLOC_GRANS): Call
GC_end_stubborn_change(my_fl) after GC_generic_malloc_many().
* mallocx.c [MANUAL_VDB] (GC_generic_malloc_many): Always fall back to
GC_generic_malloc (unless !GC_incremental).
include/gc_inline.h
mallocx.c