diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2013-12-15 20:36:45 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2013-12-15 20:36:45 +0400 |
commit | 32b12154933124a899dae65c1e2a993e814e60c1 (patch) | |
tree | f6c90428733d224351f7ea83fce77e57f7892bb2 /typd_mlc.c | |
parent | fae0f4b8139040c77d54449d976276bc53653990 (diff) | |
download | bdwgc-32b12154933124a899dae65c1e2a993e814e60c1.tar.gz |
Remove 'opp' local variable in GC_malloc_X
(code refactoring)
* alloc.c: Update comment (about free lists).
* fnlz_mlc.c (GC_finalized_malloc): Remove "opp" local variable
(replace *opp with <kind>freelist[lg]).
* gcj_mlc.c (GC_gcj_malloc, GC_gcj_malloc_ignore_off_page): Likewise.
* malloc.c (GC_malloc_atomic, GC_malloc, GC_malloc_uncollectable):
Likewise.
* mallocx.c (GC_malloc_atomic_uncollectable): Likewise.
* typd_mlc.c (GC_malloc_explicitly_typed,
GC_malloc_explicitly_typed_ignore_off_page,
GC_calloc_explicitly_typed): Likewise.
Diffstat (limited to 'typd_mlc.c')
-rw-r--r-- | typd_mlc.c | 20 |
1 files changed, 7 insertions, 13 deletions
@@ -584,7 +584,6 @@ GC_API GC_descr GC_CALL GC_make_descriptor(const GC_word * bm, size_t len) GC_API void * GC_CALL GC_malloc_explicitly_typed(size_t lb, GC_descr d) { ptr_t op; - ptr_t * opp; size_t lg; DCL_LOCK_STATE; @@ -592,16 +591,15 @@ GC_API void * GC_CALL GC_malloc_explicitly_typed(size_t lb, GC_descr d) if(SMALL_OBJ(lb)) { GC_DBG_COLLECT_AT_MALLOC(lb); lg = GC_size_map[lb]; - opp = &(GC_eobjfreelist[lg]); LOCK(); - op = *opp; + op = GC_eobjfreelist[lg]; if (EXPECT(0 == op, FALSE)) { UNLOCK(); op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind); if (0 == op) return 0; lg = GC_size_map[lb]; /* May have been uninitialized. */ } else { - *opp = obj_link(op); + GC_eobjfreelist[lg] = obj_link(op); obj_link(op) = 0; GC_bytes_allocd += GRANULES_TO_BYTES(lg); UNLOCK(); @@ -621,24 +619,22 @@ GC_API void * GC_CALL GC_malloc_explicitly_typed_ignore_off_page(size_t lb, GC_descr d) { ptr_t op; - ptr_t * opp; size_t lg; DCL_LOCK_STATE; lb += TYPD_EXTRA_BYTES; - if( SMALL_OBJ(lb) ) { + if (SMALL_OBJ(lb)) { GC_DBG_COLLECT_AT_MALLOC(lb); lg = GC_size_map[lb]; - opp = &(GC_eobjfreelist[lg]); LOCK(); - op = *opp; + op = GC_eobjfreelist[lg]; if (EXPECT(0 == op, FALSE)) { UNLOCK(); op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind); if (0 == op) return 0; lg = GC_size_map[lb]; /* May have been uninitialized. */ } else { - *opp = obj_link(op); + GC_eobjfreelist[lg] = obj_link(op); obj_link(op) = 0; GC_bytes_allocd += GRANULES_TO_BYTES(lg); UNLOCK(); @@ -658,7 +654,6 @@ GC_API void * GC_CALL GC_calloc_explicitly_typed(size_t n, size_t lb, GC_descr d) { ptr_t op; - ptr_t * opp; size_t lg; GC_descr simple_descr; complex_descriptor *complex_descr; @@ -682,16 +677,15 @@ GC_API void * GC_CALL GC_calloc_explicitly_typed(size_t n, size_t lb, } if( SMALL_OBJ(lb) ) { lg = GC_size_map[lb]; - opp = &(GC_arobjfreelist[lg]); LOCK(); - op = *opp; + op = GC_arobjfreelist[lg]; if (EXPECT(0 == op, FALSE)) { UNLOCK(); op = (ptr_t)GENERAL_MALLOC((word)lb, GC_array_kind); if (0 == op) return(0); lg = GC_size_map[lb]; /* May have been uninitialized. */ } else { - *opp = obj_link(op); + GC_arobjfreelist[lg] = obj_link(op); obj_link(op) = 0; GC_bytes_allocd += GRANULES_TO_BYTES(lg); UNLOCK(); |