summaryrefslogtreecommitdiff
path: root/gcj_mlc.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2013-12-15 20:36:45 +0400
committerIvan Maidanski <ivmai@mail.ru>2013-12-15 20:36:45 +0400
commit32b12154933124a899dae65c1e2a993e814e60c1 (patch)
treef6c90428733d224351f7ea83fce77e57f7892bb2 /gcj_mlc.c
parentfae0f4b8139040c77d54449d976276bc53653990 (diff)
downloadbdwgc-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 'gcj_mlc.c')
-rw-r--r--gcj_mlc.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcj_mlc.c b/gcj_mlc.c
index 78950e25..c2aee253 100644
--- a/gcj_mlc.c
+++ b/gcj_mlc.c
@@ -164,17 +164,15 @@ static void maybe_finalize(void)
#endif
{
ptr_t op;
- ptr_t * opp;
word lg;
DCL_LOCK_STATE;
GC_DBG_COLLECT_AT_MALLOC(lb);
if(SMALL_OBJ(lb)) {
lg = GC_size_map[lb];
- opp = &(GC_gcjobjfreelist[lg]);
LOCK();
- op = *opp;
- if(EXPECT(op == 0, FALSE)) {
+ op = GC_gcjobjfreelist[lg];
+ if(EXPECT(0 == op, FALSE)) {
maybe_finalize();
op = (ptr_t)GENERAL_MALLOC_INNER((word)lb, GC_gcj_kind);
if (0 == op) {
@@ -183,7 +181,7 @@ static void maybe_finalize(void)
return((*oom_fn)(lb));
}
} else {
- *opp = obj_link(op);
+ GC_gcjobjfreelist[lg] = obj_link(op);
GC_bytes_allocd += GRANULES_TO_BYTES(lg);
}
*(void **)op = ptr_to_struct_containing_descr;
@@ -238,16 +236,14 @@ GC_API void * GC_CALL GC_gcj_malloc_ignore_off_page(size_t lb,
void * ptr_to_struct_containing_descr)
{
ptr_t op;
- ptr_t * opp;
word lg;
DCL_LOCK_STATE;
GC_DBG_COLLECT_AT_MALLOC(lb);
if(SMALL_OBJ(lb)) {
lg = GC_size_map[lb];
- opp = &(GC_gcjobjfreelist[lg]);
LOCK();
- op = *opp;
+ op = GC_gcjobjfreelist[lg];
if (EXPECT(0 == op, FALSE)) {
maybe_finalize();
op = (ptr_t)GENERAL_MALLOC_INNER_IOP(lb, GC_gcj_kind);
@@ -257,7 +253,7 @@ GC_API void * GC_CALL GC_gcj_malloc_ignore_off_page(size_t lb,
return((*oom_fn)(lb));
}
} else {
- *opp = obj_link(op);
+ GC_gcjobjfreelist[lg] = obj_link(op);
GC_bytes_allocd += GRANULES_TO_BYTES(lg);
}
} else {