Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Unity-Technologies/bdwgc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2016-10-04 23:27:53 +0300
committerIvan Maidanski <ivmai@mail.ru>2016-10-04 23:27:53 +0300
commit03bb5fb61138482085be2330c4da9491a081ec52 (patch)
tree35e44a0858e5532f68b7609ced2e3bc14f865558 /malloc.c
parente248d685833a498e7dc0938bca47f08dfa611cd5 (diff)
Eliminate more 'scope of variable can be reduced' cppcheck style warnings
* allchblk.c (GC_compute_large_free_bytes, GC_print_hblkfreelist, free_list_index_of, GC_dump_regions, GC_add_to_fl, GC_unmap_old, GC_allochblk_nth): Move local variable declaration to the inner scope where the variable is actually used. * alloc.c (GC_maybe_gc, GC_collect_a_little_inner, GC_set_fl_marks, GC_clear_fl_marks): Likewise. * dyn_load.c (GC_register_dynamic_libraries): Likewise. * finalize.c (GC_ignore_self_finalize_mark_proc, GC_register_finalizer_inner, GC_dump_finalization_links, GC_dump_finalization, GC_make_disappearing_links_disappear, GC_remove_dangling_disappearing_links, GC_invoke_finalizers): Likewise. * headers.c (GC_install_counts): Likewise. * malloc.c (GC_malloc_kind_global, GC_generic_malloc_uncollectable, GC_free): Likewise. * mark.c (GC_push_all_eager, GC_push_marked1, GC_push_marked2, GC_push_marked4): Likewise. * mark_rts.c (GC_next_exclusion, GC_exclude_static_roots_inner, GC_push_conditional_with_exclusions): Likewise. * misc.c (GC_base, GC_parse_mem_size_arg, GC_write): Likewise. * os_dep.c (GC_repeat_read, GC_get_maps, GC_least_described_address, GC_register_root_section, GC_register_data_segments): Likewise. * reclaim.c (GC_reclaim_block, GC_start_reclaim): Likewise. * finalize.c (ITERATE_DL_HASHTBL_BEGIN): Declare prev_dl local variable.
Diffstat (limited to 'malloc.c')
-rw-r--r--malloc.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/malloc.c b/malloc.c
index 9b72114a..ab40cf5d 100644
--- a/malloc.c
+++ b/malloc.c
@@ -239,15 +239,14 @@ GC_API GC_ATTR_MALLOC void * GC_CALL GC_generic_malloc(size_t lb, int k)
GC_API GC_ATTR_MALLOC void * GC_CALL GC_malloc_kind_global(size_t lb, int k)
{
- void *op;
- void **opp;
- size_t lg;
- DCL_LOCK_STATE;
-
GC_ASSERT(k < MAXOBJKINDS);
if (SMALL_OBJ(lb)) {
+ void *op;
+ void **opp;
+ size_t lg = GC_size_map[lb];
+ DCL_LOCK_STATE;
+
GC_DBG_COLLECT_AT_MALLOC(lb);
- lg = GC_size_map[lb];
LOCK();
opp = &GC_obj_kinds[k].ok_freelist[lg];
op = *opp;
@@ -295,12 +294,13 @@ GC_API GC_ATTR_MALLOC void * GC_CALL GC_generic_malloc_uncollectable(
size_t lb, int k)
{
void *op;
- void **opp;
- size_t lg;
DCL_LOCK_STATE;
GC_ASSERT(k < MAXOBJKINDS);
if (SMALL_OBJ(lb)) {
+ void **opp;
+ size_t lg;
+
GC_DBG_COLLECT_AT_MALLOC(lb);
if (EXTRA_BYTES != 0 && lb != 0) lb--;
/* We don't need the extra byte, since this won't be */
@@ -493,7 +493,6 @@ GC_API void GC_CALL GC_free(void * p)
hdr *hhdr;
size_t sz; /* In bytes */
size_t ngranules; /* sz in granules */
- void **flh;
int knd;
struct obj_kind * ok;
DCL_LOCK_STATE;
@@ -521,6 +520,8 @@ GC_API void GC_CALL GC_free(void * p)
knd = hhdr -> hb_obj_kind;
ok = &GC_obj_kinds[knd];
if (EXPECT(ngranules <= MAXOBJGRANULES, TRUE)) {
+ void **flh;
+
LOCK();
GC_bytes_freed += sz;
if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= sz;
@@ -536,6 +537,7 @@ GC_API void GC_CALL GC_free(void * p)
UNLOCK();
} else {
size_t nblocks = OBJ_SZ_TO_BLOCKS(sz);
+
LOCK();
GC_bytes_freed += sz;
if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= sz;