diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2012-01-29 21:46:40 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2012-01-29 21:46:40 +0400 |
commit | 0589e7c42dc7c884c49081f829309ecccd1c63f0 (patch) | |
tree | 299cc3632dc5b6697eaf3df1b734831ab7774173 /mark.c | |
parent | 5178871f033614cdf9e6623eb3dcba95f71d2e87 (diff) | |
download | bdwgc-0589e7c42dc7c884c49081f829309ecccd1c63f0.tar.gz |
Code refactoring regarding GC_PUSH_ONE_HEAP (mark)
* finalize.c (GC_ignore_self_finalize_mark_proc): Pass
GC_mark_stack_top to GC_PUSH_ONE_HEAP.
* mark.c (PUSH_GRANULE): Likewise.
* include/private/gc_pmark.h (GC_PUSH_ONE_HEAP): Replace
hard-coded GC_mark_stack_top with mark_stack_top argument; reformat
comment; add missing brackets.
Diffstat (limited to 'mark.c')
-rw-r--r-- | mark.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -1537,25 +1537,25 @@ GC_INNER void GC_push_all_stack(ptr_t bottom, ptr_t top) # define USE_PUSH_MARKED_ACCELERATORS # define PUSH_GRANULE(q) \ { word qcontents = (q)[0]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)); } + GC_PUSH_ONE_HEAP(qcontents, q, GC_mark_stack_top); } # elif GC_GRANULE_WORDS == 2 # define USE_PUSH_MARKED_ACCELERATORS # define PUSH_GRANULE(q) \ { word qcontents = (q)[0]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)); \ + GC_PUSH_ONE_HEAP(qcontents, q, GC_mark_stack_top); \ qcontents = (q)[1]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)+1); } + GC_PUSH_ONE_HEAP(qcontents, (q)+1, GC_mark_stack_top); } # elif GC_GRANULE_WORDS == 4 # define USE_PUSH_MARKED_ACCELERATORS # define PUSH_GRANULE(q) \ { word qcontents = (q)[0]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)); \ + GC_PUSH_ONE_HEAP(qcontents, q, GC_mark_stack_top); \ qcontents = (q)[1]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)+1); \ + GC_PUSH_ONE_HEAP(qcontents, (q)+1, GC_mark_stack_top); \ qcontents = (q)[2]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)+2); \ + GC_PUSH_ONE_HEAP(qcontents, (q)+2, GC_mark_stack_top); \ qcontents = (q)[3]; \ - GC_PUSH_ONE_HEAP(qcontents, (q)+3); } + GC_PUSH_ONE_HEAP(qcontents, (q)+3, GC_mark_stack_top); } # endif #endif /* !USE_MARK_BYTES && MARK_BIT_PER_GRANULE */ |