summaryrefslogtreecommitdiff
path: root/mark.c
diff options
context:
space:
mode:
authorPetter Urkedal <paurkedal@gmail.com>2011-09-10 14:03:16 +0200
committerIvan Maidanski <ivmai@mail.ru>2011-09-30 17:35:07 +0400
commit6e8e9de7d2087523de7815710bafadb34550b739 (patch)
tree0174efcb7c6dcf0713461c16c838af5ac97ea270 /mark.c
parent82b9a957831a612cbfcde038d125ca11624ee9bb (diff)
downloadbdwgc-6e8e9de7d2087523de7815710bafadb34550b739.tar.gz
Fix some issues and avoid warnings in disclaim-related code.
* disclaim.c, include/gc_disclaim.h: Fix prototype. * include/private/gc_priv.h, mark.c: Avoid missing initializer warning. * mark.c: Fix type of a size_t variable in GC_reclaim_block. * misc.c: Initialize ok_mark_unconditionally. * reclaim.c: Tweak and avoid unused label warning. * tests/disclaim_bench.c, tests/disclaim_test.c: Remove or conditionalize unused variables.
Diffstat (limited to 'mark.c')
-rw-r--r--mark.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/mark.c b/mark.c
index f706e823..14e6afec 100644
--- a/mark.c
+++ b/mark.c
@@ -51,21 +51,26 @@ GC_INNER unsigned GC_n_mark_procs = GC_RESERVED_MARK_PROCS;
/* It's done here, since we need to deal with mark descriptors. */
GC_INNER struct obj_kind GC_obj_kinds[MAXOBJKINDS] = {
/* PTRFREE */ { &GC_aobjfreelist[0], 0 /* filled in dynamically */,
- 0 | GC_DS_LENGTH, FALSE, FALSE },
+ 0 | GC_DS_LENGTH, FALSE, FALSE,
+ OK_DISCLAIM_INITZ },
/* NORMAL */ { &GC_objfreelist[0], 0,
0 | GC_DS_LENGTH, /* Adjusted in GC_init for EXTRA_BYTES */
- TRUE /* add length to descr */, TRUE },
+ TRUE /* add length to descr */, TRUE,
+ OK_DISCLAIM_INITZ },
/* UNCOLLECTABLE */
{ &GC_uobjfreelist[0], 0,
- 0 | GC_DS_LENGTH, TRUE /* add length to descr */, TRUE },
+ 0 | GC_DS_LENGTH, TRUE /* add length to descr */, TRUE,
+ OK_DISCLAIM_INITZ },
# ifdef ATOMIC_UNCOLLECTABLE
/* AUNCOLLECTABLE */
{ &GC_auobjfreelist[0], 0,
- 0 | GC_DS_LENGTH, FALSE /* add length to descr */, FALSE },
+ 0 | GC_DS_LENGTH, FALSE /* add length to descr */, FALSE,
+ OK_DISCLAIM_INITZ },
# endif
# ifdef STUBBORN_ALLOC
/*STUBBORN*/ { (void **)&GC_sobjfreelist[0], 0,
- 0 | GC_DS_LENGTH, TRUE /* add length to descr */, TRUE },
+ 0 | GC_DS_LENGTH, TRUE /* add length to descr */, TRUE,
+ OK_DISCLAIM_INITZ },
# endif
};
@@ -1771,8 +1776,8 @@ STATIC void GC_push_marked(struct hblk *h, hdr *hhdr)
/* first word. */
void GC_push_unconditionally(struct hblk *h, hdr *hhdr)
{
- int sz = hhdr -> hb_sz;
- int descr = hhdr -> hb_descr;
+ size_t sz = hhdr -> hb_sz;
+ word descr = hhdr -> hb_descr;
ptr_t p;
ptr_t lim;
mse * GC_mark_stack_top_reg;