Modified designate_modified to check master gc

svn: r12800
This commit is contained in:
Kevin Tew 2008-12-12 19:34:55 +00:00
parent 60b3591910
commit 923d43001e

View File

@ -1407,9 +1407,8 @@ void GC_register_new_thread(void *t, void *c)
/* administration / initialization */
/*****************************************************************************/
static int designate_modified(void *p)
static int designate_modified_gc(NewGC *gc, void *p)
{
NewGC *gc = GC_get_GC();
struct mpage *page = pagemap_find_page(gc->page_maps, p);
if (gc->no_further_modifications) {
@ -1425,11 +1424,20 @@ static int designate_modified(void *p)
return 1;
}
} else {
if (gc->primoridal_gc) {
return designate_modified_gc(gc->primoridal_gc, p);
}
GCPRINT(GCOUTF, "Seg fault (internal error) at %p\n", p);
}
return 0;
}
static int designate_modified(void *p) {
NewGC *gc = GC_get_GC();
return designate_modified_gc(gc, p);
}
void GC_write_barrier(void *p)
{
(void)designate_modified(p);