summaryrefslogtreecommitdiff
path: root/mark.c
diff options
context:
space:
mode:
authorPetter Urkedal <paurkedal@gmail.com>2012-01-08 17:30:42 +0800
committerIvan Maidanski <ivmai@mail.ru>2012-01-14 00:00:08 +0800
commitd6836651e8424278d3112499ca7dd0bf4c808079 (patch)
tree556391c45537bdb451e3d8d2932beeb67910dbea /mark.c
parentf73c8b73fd930f5e68db8753ac5e748e52005077 (diff)
downloadbdwgc-d6836651e8424278d3112499ca7dd0bf4c808079.tar.gz
Export mark-bit manipulation functions.
* include/private/gc_priv.h, include/gc_mark.h: Move GC_is_marked, GC_clear_mark_bit and GC_set_mark_bit to a public header and adjust prototypes and comment. * mark.c: Adjust prototypes accordingly.
Diffstat (limited to 'mark.c')
-rw-r--r--mark.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/mark.c b/mark.c
index 2ea24b9a..467c13e7 100644
--- a/mark.c
+++ b/mark.c
@@ -190,11 +190,11 @@ static void clear_marks_for_block(struct hblk *h, word dummy GC_ATTR_UNUSED)
}
/* Slow but general routines for setting/clearing/asking about mark bits */
-GC_INNER void GC_set_mark_bit(ptr_t p)
+GC_API void GC_CALL GC_set_mark_bit(void *p)
{
struct hblk *h = HBLKPTR(p);
hdr * hhdr = HDR(h);
- word bit_no = MARK_BIT_NO(p - (ptr_t)h, hhdr -> hb_sz);
+ word bit_no = MARK_BIT_NO((ptr_t)p - (ptr_t)h, hhdr -> hb_sz);
if (!mark_bit_from_hdr(hhdr, bit_no)) {
set_mark_bit_from_hdr(hhdr, bit_no);
@@ -202,11 +202,11 @@ GC_INNER void GC_set_mark_bit(ptr_t p)
}
}
-GC_INNER void GC_clear_mark_bit(ptr_t p)
+GC_API void GC_CALL GC_clear_mark_bit(void *p)
{
struct hblk *h = HBLKPTR(p);
hdr * hhdr = HDR(h);
- word bit_no = MARK_BIT_NO(p - (ptr_t)h, hhdr -> hb_sz);
+ word bit_no = MARK_BIT_NO((ptr_t)p - (ptr_t)h, hhdr -> hb_sz);
if (mark_bit_from_hdr(hhdr, bit_no)) {
size_t n_marks;
@@ -224,11 +224,11 @@ GC_INNER void GC_clear_mark_bit(ptr_t p)
}
}
-GC_bool GC_is_marked(ptr_t p)
+GC_API int GC_CALL GC_is_marked(void *p)
{
struct hblk *h = HBLKPTR(p);
hdr * hhdr = HDR(h);
- word bit_no = MARK_BIT_NO(p - (ptr_t)h, hhdr -> hb_sz);
+ word bit_no = MARK_BIT_NO((ptr_t)p - (ptr_t)h, hhdr -> hb_sz);
return((GC_bool)mark_bit_from_hdr(hhdr, bit_no));
}