summaryrefslogtreecommitdiff
path: root/backgraph.c
diff options
context:
space:
mode:
authorhboehm <hboehm>2007-08-04 06:26:29 +0000
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 21:06:41 +0400
commit87b2e2602e766e448e7d65d7a7a7eb3e3cd020cb (patch)
tree0162d9d9de90bf1acb3653e4876d39b0e52d6439 /backgraph.c
parent6db625e8a2a7d5d8b4faf8747b5688cd64f3949e (diff)
downloadbdwgc-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.c6
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;