summaryrefslogtreecommitdiff
path: root/typd_mlc.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2012-09-11 23:03:55 +0400
committerIvan Maidanski <ivmai@mail.ru>2012-09-11 23:03:55 +0400
commit9dbe549fded38f9a456004831a9eced840a6ce36 (patch)
tree08e2c078a9257058529b6a6d07a3304481a715d6 /typd_mlc.c
parent8102d42dd2e5b398e1085d5e3a90fdbee5ed6ed1 (diff)
downloadbdwgc-9dbe549fded38f9a456004831a9eced840a6ce36.tar.gz
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).
Diffstat (limited to 'typd_mlc.c')
-rw-r--r--typd_mlc.c2
1 files changed, 2 insertions, 0 deletions
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();