Lines Matching refs:addr
8 byteat(addr)
11 complex Byte addr;
12 x = addr.byte;
17 B2T(addr) {
18 complex Bhdr addr;
19 addr = addr+addr.size-sizeofBtail;
20 complex Btail addr;
21 return addr;
25 B2D(addr) {
27 x = addr+sizeofBhdr;
32 D2B(addr) {
34 x = addr-sizeofBhdr;
40 B2NB(addr) {
41 complex Bhdr addr;
42 addr = addr+addr.size;
43 complex Bhdr addr;
44 return addr;
48 A2TB(addr) {
50 complex Arena addr;
51 b = addr+addr.asize-sizeofBhdr;
57 A2B(addr) {
58 return B2NB(addr);
62 B2PT(addr) {
63 complex Bhdr addr;
64 addr = addr-sizeofBtail;
65 complex Btail addr;
66 return addr;
70 SHORT(addr) {
73 hi = byteat(addr);
74 lo = byteat(addr+1);
79 Btail(addr) {
80 complex Btail addr;
81 print(" magic0 ", addr.magic0, "\n");
82 print(" datadiff ", SHORT(addr.datasize), "\n");
83 print(" magic1 ", addr.magic1, "\n");
84 print(" size ", addr.size\X, "\n");
85 print(" hdr ", addr+sizeofBtail-addr.size\X, "\n");
89 Tail(addr)
91 print(" ", B2T(addr)\X, "\n");
92 Btail(B2T(addr));
114 Block(addr)
116 complex Bhdr addr;
117 print(" ", Magic(addr.magic), "\n");
118 print(" data ", B2D(addr), "\n");
119 print(" datasize ", getdsize(addr), "\n");
120 Bhdr(addr);
121 Tail(addr);
125 getdsize(addr)
127 complex Bhdr addr;
130 x = addr.size\d;
131 x = x-SHORT(B2T(addr).datasize);
146 checkblock(addr)
149 complex Bhdr addr;
150 taddr = B2T(addr);
153 if addr.magic == FREE_MAGIC || addr.magic == UNKEMPT_MAGIC then {
155 print(addr\X, " corrupt tail magic\n");
156 if taddr.size != addr.size then
157 print(addr\X, " corrupt tail header pointer\n");
160 if addr.magic == ARENA_MAGIC then {
161 taddr = A2TB(addr);
163 print(addr\X, " arena with bad tail block\n");
165 addr = taddr;
168 if addr.magic == ARENATAIL_MAGIC then {
169 if addr.size != 0 then
170 print(addr\X, " bad size in arena tail\n");
173 if addr.magic == KEMPT_MAGIC then {
174 a = addr;
177 print(addr\X, " block ridiculously large\n");
178 t = B2T(addr);
180 print(addr\X, " bad tail magic\n");
181 if t.size != addr.size then
182 print(addr\X, " bad tail pointer\n");
185 print(addr\X, " too much data in block\n");
198 print(addr\X, " size ", dsize, " user has overwritten boundary\n");
258 poolwhopointsat(p, addr)
266 arenawhopointsat(a, addr);
272 arenawhopointsat(arena, addr)
280 if *b == addr then
287 whopointsat(addr)
289 poolwhopointsat(*mainmem, addr);
293 blockhdr(addr)
295 addr = addr & ~3;
297 while *addr != FREE_MAGIC
298 && *addr != ARENA_MAGIC
299 && *addr != UNKEMPT_MAGIC
300 && *addr != KEMPT_MAGIC
301 && *addr != ARENATAIL_MAGIC
303 addr = addr-4;
304 return addr;