diff options
author | hboehm <hboehm> | 2007-08-04 06:26:29 +0000 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 21:06:41 +0400 |
commit | 87b2e2602e766e448e7d65d7a7a7eb3e3cd020cb (patch) | |
tree | 0162d9d9de90bf1acb3653e4876d39b0e52d6439 /backgraph.c | |
parent | 6db625e8a2a7d5d8b4faf8747b5688cd64f3949e (diff) | |
download | bdwgc-87b2e2602e766e448e7d65d7a7a7eb3e3cd020cb.tar.gz |
2007-08-03 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c, backgraph.c, headers.c, include/private/gc_priv.h:
Maintain GC_our_memory and GC_n_memory.
* dbg_mlc.c (GC_print_smashed_obj): Improve message.
(GC_print_all_smashed_proc): Pass client object address instead of
base.
* dyn_load.c (sort_heap_sects): New. (GC_register_map_entries):
Register sections that are contiguous and merged with our heap.
* malloc.c, os_dep.c (GC_text_mapping): Check for just base name
of libraries.
* malloc.c (calloc): Check for special callers even with
USE_PROC_FOR_LIBRARIES. Move assertion. Add rudimentary
malloc/free tracing.
* misc.c: No longer call GC_init_lib_bounds explicitly.
* thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Always
initialize on demand.
* tests/test.c: Call GC_INIT only when required.
Diffstat (limited to 'backgraph.c')
-rw-r--r-- | backgraph.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/backgraph.c b/backgraph.c index 59c330f4..92d09e03 100644 --- a/backgraph.c +++ b/backgraph.c @@ -86,6 +86,8 @@ static back_edges * new_back_edges(void) if (0 == back_edge_space) { back_edge_space = (back_edges *) GET_MEM(MAX_BACK_EDGE_STRUCTS*sizeof(back_edges)); + GC_add_to_our_memory((ptr_t)back_edge_space, + MAX_BACK_EDGE_STRUCTS*sizeof(back_edges)); } if (0 != avail_back_edges) { back_edges * result = avail_back_edges; @@ -125,11 +127,15 @@ static void push_in_progress(ptr_t p) if (in_progress_size == 0) { in_progress_size = INITIAL_IN_PROGRESS; in_progress_space = (ptr_t *)GET_MEM(in_progress_size * sizeof(ptr_t)); + GC_add_to_our_memory((ptr_t)in_progress_space, + in_progress_size * sizeof(ptr_t)); } else { ptr_t * new_in_progress_space; in_progress_size *= 2; new_in_progress_space = (ptr_t *) GET_MEM(in_progress_size * sizeof(ptr_t)); + GC_add_to_our_memory((ptr_t)new_in_progress_space, + in_progress_size * sizeof(ptr_t)); BCOPY(in_progress_space, new_in_progress_space, n_in_progress * sizeof(ptr_t)); in_progress_space = new_in_progress_space; |