summaryrefslogtreecommitdiff
path: root/mark.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2012-01-29 21:46:40 +0400
committerIvan Maidanski <ivmai@mail.ru>2012-01-29 21:46:40 +0400
commit0589e7c42dc7c884c49081f829309ecccd1c63f0 (patch)
tree299cc3632dc5b6697eaf3df1b734831ab7774173 /mark.c
parent5178871f033614cdf9e6623eb3dcba95f71d2e87 (diff)
downloadbdwgc-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.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/mark.c b/mark.c
index 87e2b4a9..5bef7f9e 100644
--- a/mark.c
+++ b/mark.c
@@ -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 */