summaryrefslogtreecommitdiff
path: root/finalize.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2018-07-05 20:00:49 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-07-05 20:00:49 +0300
commitaefc738c17164e4756abe2152ba8728ea722837d (patch)
tree76615b0d2c74d02a64422a794f19c34233614e3f /finalize.c
parent0dfe3cc3b4fd7428aeb94966df6496659ae52f16 (diff)
downloadbdwgc-aefc738c17164e4756abe2152ba8728ea722837d.tar.gz
Remove PUSH_OBJ multi-line macro
(code refactoring) * finalize.c (GC_normal_finalize_mark_proc): Call GC_push_obj instead of PUSH_OBJ. * include/private/gc_pmark.h (PUSH_CONTENTS_HDR): Likewise. * mark.c (GC_push_marked): Likewise. * mark.c [ENABLE_DISCLAIM] (GC_push_unconditionally): Likewise. * finalize.c (GC_normal_finalize_mark_proc): Remove hhdr local variable. * include/private/gc_pmark.h (PUSH_OBJ): Transform macro to inline function; rename to GC_push_obj; update comment; return mark_stack_top.
Diffstat (limited to 'finalize.c')
-rw-r--r--finalize.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/finalize.c b/finalize.c
index 59d03759..64a0ec22 100644
--- a/finalize.c
+++ b/finalize.c
@@ -634,10 +634,8 @@ GC_API GC_await_finalize_proc GC_CALL GC_get_await_finalize_proc(void)
/* overflow is handled by the caller, and is not a disaster. */
STATIC void GC_normal_finalize_mark_proc(ptr_t p)
{
- hdr * hhdr = HDR(p);
-
- PUSH_OBJ(p, hhdr, GC_mark_stack_top,
- &(GC_mark_stack[GC_mark_stack_size]));
+ GC_mark_stack_top = GC_push_obj(p, HDR(p), GC_mark_stack_top,
+ GC_mark_stack + GC_mark_stack_size);
}
/* This only pays very partial attention to the mark descriptor. */