From 9dbe549fded38f9a456004831a9eced840a6ce36 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Tue, 11 Sep 2012 23:03:55 +0400 Subject: Enable 'Force GC at every GC_malloc' debug-related functionality * doc/README.environment (GC_COLLECT_AT_MALLOC): Document. * doc/README.macros (GC_COLLECT_AT_MALLOC): Likewise. * fnlz_mlc.c (GC_core_finalized_malloc): Insert GC_DBG_COLLECT_AT_MALLOC invocation (before LOCK). * gcj_mlc.c (GC_core_gcj_malloc, GC_gcj_malloc_ignore_off_page): Likewise. * malloc.c (GC_generic_malloc, GC_malloc_atomic, GC_malloc, GC_malloc_uncollectable): Likewise. * mallocx.c (GC_generic_malloc_ignore_off_page, GC_generic_malloc_many, GC_malloc_atomic_uncollectable): Likewise. * typd_mlc.c (GC_malloc_explicitly_typed, GC_malloc_explicitly_typed_ignore_off_page): Likewise. * include/private/gc_priv.h (GC_COLLECT_AT_MALLOC): Recognize new macro. (GC_dbg_collect_at_malloc_min_lb): New global variable declaration (only if GC_COLLECT_AT_MALLOC defined). (GC_DBG_COLLECT_AT_MALLOC): Define new macro (invoking GC_gcollect). * malloc.c (GC_dbg_collect_at_malloc_min_lb): New global variable (only if GC_COLLECT_AT_MALLOC defined). * misc.c (GC_init): Test "GC_COLLECT_AT_MALLOC" environment variable and alter default GC_dbg_collect_at_malloc_min_lb value (only if GC_COLLECT_AT_MALLOC macro defined). --- typd_mlc.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'typd_mlc.c') diff --git a/typd_mlc.c b/typd_mlc.c index 9a223047..827cc4f3 100644 --- a/typd_mlc.c +++ b/typd_mlc.c @@ -592,6 +592,7 @@ GC_API void * GC_CALL GC_malloc_explicitly_typed(size_t lb, GC_descr d) lb += TYPD_EXTRA_BYTES; if(SMALL_OBJ(lb)) { + GC_DBG_COLLECT_AT_MALLOC(lb); lg = GC_size_map[lb]; opp = &(GC_eobjfreelist[lg]); LOCK(); @@ -628,6 +629,7 @@ GC_API void * GC_CALL GC_malloc_explicitly_typed_ignore_off_page(size_t lb, lb += TYPD_EXTRA_BYTES; if( SMALL_OBJ(lb) ) { + GC_DBG_COLLECT_AT_MALLOC(lb); lg = GC_size_map[lb]; opp = &(GC_eobjfreelist[lg]); LOCK(); -- cgit v1.2.1