Modified designate_modified to check master gc
svn: r12800
This commit is contained in:
parent
60b3591910
commit
923d43001e
|
@ -1407,9 +1407,8 @@ void GC_register_new_thread(void *t, void *c)
|
||||||
/* administration / initialization */
|
/* 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);
|
struct mpage *page = pagemap_find_page(gc->page_maps, p);
|
||||||
|
|
||||||
if (gc->no_further_modifications) {
|
if (gc->no_further_modifications) {
|
||||||
|
@ -1425,11 +1424,20 @@ static int designate_modified(void *p)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if (gc->primoridal_gc) {
|
||||||
|
return designate_modified_gc(gc->primoridal_gc, p);
|
||||||
|
}
|
||||||
GCPRINT(GCOUTF, "Seg fault (internal error) at %p\n", p);
|
GCPRINT(GCOUTF, "Seg fault (internal error) at %p\n", p);
|
||||||
}
|
}
|
||||||
return 0;
|
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 GC_write_barrier(void *p)
|
||||||
{
|
{
|
||||||
(void)designate_modified(p);
|
(void)designate_modified(p);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user