|
|
1.1 ! root 1: /* Copyright 1989 by AT&T Bell Laboratories */ ! 2: #include "tags.h" ! 3: #include "descriptor.h" ! 4: trace(to_low, target_lo, target_hi) int *to_low, *target_lo, *target_hi; ! 5: {int *x=to_low; ! 6: chatting("tracing %8x\n", target_lo); ! 7: while(x<target_lo) ! 8: {int *p= x+1, *x0= x; ! 9: if (contains_no_ptrs(*x)) ! 10: x+=((get_len(x)+7)>>2); ! 11: else ! 12: {x += get_len(x)+1; ! 13: do if ((((*p)&1)==0) && *p >= (int)target_lo && *p < (int)target_hi) ! 14: {trace(to_low,x0,x); ! 15: printrec(x0); ! 16: return; ! 17: } ! 18: while (++p < x); ! 19: } ! 20: } ! 21: } ! 22: ! 23: printrec(x) int *x; ! 24: {int len = get_len(x), i; ! 25: chatting("\nAddress %8x: tag=%8x\n",x+1,*x); ! 26: for(i=0;i<len;i++) ! 27: chatting("[%2x] %8x\n",i,x[i+1]); ! 28: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.