189 |
void |
void |
190 |
enter_mark_origin(object *p) |
enter_mark_origin(object *p) |
191 |
{ |
{ |
|
unsigned long np=page(p); |
|
192 |
/* if (np>=MAXPAGE) */ |
/* if (np>=MAXPAGE) */ |
193 |
/* error("Address supplied to enter_mar_origin out of range"); */ |
/* error("Address supplied to enter_mar_origin out of range"); */ |
194 |
if (mark_origin_max >= MARK_ORIGIN_MAX) |
if (mark_origin_max >= MARK_ORIGIN_MAX) |
195 |
error("too many mark origins"); |
error("too many mark origins"); |
196 |
#ifdef SGC |
#ifdef SGC |
197 |
if (np<MAXPAGE) |
{ |
198 |
sgc_type_map[np] |= SGC_PERM_WRITABLE ; |
unsigned long np=page(p); |
199 |
|
if (np<MAXPAGE) |
200 |
|
sgc_type_map[np] |= SGC_PERM_WRITABLE ; |
201 |
|
} |
202 |
#endif |
#endif |
203 |
mark_origin[mark_origin_max++] = p; |
mark_origin[mark_origin_max++] = p; |
204 |
} |
} |
1114 |
(sgc_enabled ? sgc_count_type(t) : tm_of(t)->tm_npage), |
(sgc_enabled ? sgc_count_type(t) : tm_of(t)->tm_npage), |
1115 |
(tm_table[(int)t].tm_name)+1); |
(tm_table[(int)t].tm_name)+1); |
1116 |
#else |
#else |
1117 |
printf("[%s for %d %s pages..", |
printf("[%s for %ld %s pages..", |
1118 |
("GC"), |
("GC"), |
1119 |
(tm_of(t)->tm_npage), |
(tm_of(t)->tm_npage), |
1120 |
(tm_table[(int)t].tm_name)+1); |
(tm_table[(int)t].tm_name)+1); |