Changeset 14494
- Timestamp:
- Dec 18, 2010, 8:40:37 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lisp-kernel/arm-gc.c
r14472 r14494 144 144 145 145 void 146 check_xp(ExceptionInformation *xp) 147 { 148 natural *regs = (natural *) xpGPRvector(xp); 149 LispObj lr_value; 150 int r; 151 152 for (r = arg_z; r <= Rfn; r++) { 153 check_node((regs[r])); 154 } 155 } 156 157 158 159 void 160 check_tcrs(TCR *first) 161 { 162 xframe_list *xframes; 163 ExceptionInformation *xp; 164 165 TCR *tcr = first; 166 LispObj *tlb_start,*tlb_end; 167 168 do { 169 xp = tcr->gc_context; 170 if (xp) { 171 check_xp(xp); 172 } 173 for (xframes = (xframe_list *) tcr->xframe; 174 xframes; 175 xframes = xframes->prev) { 176 check_xp(xframes->curr); 177 } 178 tlb_start = tcr->tlb_pointer; 179 if (tlb_start) { 180 tlb_end = tlb_start + ((tcr->tlb_limit)>>fixnumshift); 181 check_range(tlb_start,tlb_end,false); 182 } 183 tcr = tcr->next; 184 } while (tcr != first); 185 } 186 187 void 146 188 check_all_areas(TCR *tcr) 147 189 { … … 173 215 code = (a->code); 174 216 } 217 check_tcrs(tcr); 175 218 } 176 219
Note: See TracChangeset
for help on using the changeset viewer.