From: ivmai Date: Wed, 16 Sep 2009 09:03:54 +0000 (+0000) Subject: 2009-09-16 Ivan Maidanski X-Git-Tag: gc7_2alpha4~131 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=41cf316c7387d9f09a0be4680de44008f4e5d488;p=platform%2Fupstream%2Flibgc.git 2009-09-16 Ivan Maidanski (ivmai134.diff) * alloc.c (GC_expand_hp): Replace GC_init_inner() call with GC_init() one. * malloc.c (GC_alloc_large, GC_generic_malloc_inner): Ditto. * mallocx.c (GC_generic_malloc_many): Ditto. * misc.c (GC_enable_incremental): Ditto. * alloc.c (GC_expand_hp): Update the comment. * mark.c (GC_obj_kinds): Ditto. * win32_threads.c (GC_allow_register_threads): Ditto. * private/gc_priv.h (GC_init_inner): Remove function declaration. * misc.c (GC_init_inner): Replace with public GC_init(). --- diff --git a/ChangeLog b/ChangeLog index d2d9d89..1cbd312 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,18 @@ 2009-09-16 Ivan Maidanski + (ivmai134.diff) + + * alloc.c (GC_expand_hp): Replace GC_init_inner() call with + GC_init() one. + * malloc.c (GC_alloc_large, GC_generic_malloc_inner): Ditto. + * mallocx.c (GC_generic_malloc_many): Ditto. + * misc.c (GC_enable_incremental): Ditto. + * alloc.c (GC_expand_hp): Update the comment. + * mark.c (GC_obj_kinds): Ditto. + * win32_threads.c (GC_allow_register_threads): Ditto. + * private/gc_priv.h (GC_init_inner): Remove function declaration. + * misc.c (GC_init_inner): Replace with public GC_init(). + +2009-09-16 Ivan Maidanski (ivmai126.diff) * gcj_mlc.c (GC_gcj_fake_mark_proc): New static function. diff --git a/alloc.c b/alloc.c index b0ff8f3..00f2ce0 100644 --- a/alloc.c +++ b/alloc.c @@ -1059,14 +1059,14 @@ GC_bool GC_expand_hp_inner(word n) } /* Really returns a bool, but it's externally visible, so that's clumsy. */ -/* Arguments is in bytes. */ +/* Arguments is in bytes. Includes GC_init() call. */ GC_API int GC_CALL GC_expand_hp(size_t bytes) { int result; DCL_LOCK_STATE; LOCK(); - if (!GC_is_initialized) GC_init_inner(); + if (!GC_is_initialized) GC_init(); result = (int)GC_expand_hp_inner(divHBLKSZ((word)bytes)); if (result) GC_requested_heapsize += bytes; UNLOCK(); diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index e46ce40..16e29fa 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -1620,7 +1620,6 @@ void GC_freehblk(struct hblk * p); /* as invalid. */ /* Misc GC: */ -void GC_init_inner(void); GC_bool GC_expand_hp_inner(word n); void GC_start_reclaim(int abort_if_found); /* Restore unmarked objects to free */ diff --git a/malloc.c b/malloc.c index 07c4b59..dff23e1 100644 --- a/malloc.c +++ b/malloc.c @@ -50,7 +50,7 @@ ptr_t GC_alloc_large(size_t lb, int k, unsigned flags) /* Round up to a multiple of a granule. */ lb = (lb + GRANULE_BYTES - 1) & ~(GRANULE_BYTES - 1); n_blocks = OBJ_SZ_TO_BLOCKS(lb); - if (!GC_is_initialized) GC_init_inner(); + if (!GC_is_initialized) GC_init(); /* Do our share of marking work */ if(GC_incremental && !GC_dont_gc) GC_collect_a_little_inner((int)n_blocks); @@ -112,7 +112,7 @@ void * GC_generic_malloc_inner(size_t lb, int k) if( (op = *opp) == 0 ) { if (GC_size_map[lb] == 0) { - if (!GC_is_initialized) GC_init_inner(); + if (!GC_is_initialized) GC_init(); if (GC_size_map[lb] == 0) GC_extend_size_map(lb); return(GC_generic_malloc_inner(lb, k)); } diff --git a/mallocx.c b/mallocx.c index 03f650d..e379dcf 100644 --- a/mallocx.c +++ b/mallocx.c @@ -288,7 +288,7 @@ DCL_LOCK_STATE; if (GC_have_errors) GC_print_all_errors(); GC_INVOKE_FINALIZERS(); LOCK(); - if (!GC_is_initialized) GC_init_inner(); + if (!GC_is_initialized) GC_init(); /* Do our share of marking work */ if (GC_incremental && !GC_dont_gc) { ENTER_GC(); diff --git a/mark.c b/mark.c index 36b9134..1736059 100644 --- a/mark.c +++ b/mark.c @@ -56,7 +56,7 @@ struct obj_kind GC_obj_kinds[MAXOBJKINDS] = { /* PTRFREE */ { &GC_aobjfreelist[0], 0 /* filled in dynamically */, 0 | GC_DS_LENGTH, FALSE, FALSE }, /* NORMAL */ { &GC_objfreelist[0], 0, - 0 | GC_DS_LENGTH, /* Adjusted in GC_init_inner for EXTRA_BYTES */ + 0 | GC_DS_LENGTH, /* Adjusted in GC_init for EXTRA_BYTES */ TRUE /* add length to descr */, TRUE }, /* UNCOLLECTABLE */ { &GC_uobjfreelist[0], 0, diff --git a/misc.c b/misc.c index 8ab11ec..0949cc2 100644 --- a/misc.c +++ b/misc.c @@ -452,14 +452,6 @@ GC_bool GC_is_initialized = FALSE; extern void GC_init_parallel(void); # endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */ -/* FIXME: The GC_init/GC_init_inner distinction should go away. */ -GC_API void GC_CALL GC_init(void) -{ - /* LOCK(); -- no longer does anything this early. */ - GC_init_inner(); - /* UNLOCK(); */ -} - #if (defined(MSWIN32) || defined(MSWINCE)) && defined(THREADS) CRITICAL_SECTION GC_write_cs; #endif @@ -515,8 +507,9 @@ static void maybe_install_looping_handler(void) extern int GC_unmap_threshold; #endif -void GC_init_inner(void) +GC_API void GC_CALL GC_init(void) { + /* LOCK(); -- no longer does anything this early. */ # if !defined(THREADS) && defined(GC_ASSERTIONS) word dummy; # endif @@ -874,7 +867,7 @@ GC_API void GC_CALL GC_enable_incremental(void) maybe_install_looping_handler(); /* Before write fault handler! */ GC_incremental = TRUE; if (!GC_is_initialized) { - GC_init_inner(); + GC_init(); } else { GC_dirty_init(); } diff --git a/win32_threads.c b/win32_threads.c index ce121ee..1a33404 100644 --- a/win32_threads.c +++ b/win32_threads.c @@ -663,7 +663,7 @@ GC_API void GC_CALL GC_allow_register_threads(void) GC_ASSERT(GC_lookup_thread_inner(GetCurrentThreadId()) != 0); # if !defined(GC_NO_DLLMAIN) && !defined(PARALLEL_MARK) - /* GC_init_parallel() is not called from GC_init_inner(). */ + /* GC_init() doesn't call GC_init_parallel() in this case. */ parallel_initialized = TRUE; # endif GC_need_to_lock = TRUE; /* We are multi-threaded now. */