Lines Matching defs:p

28 #define ASSERT(p) if(!(p))botch("p");else
36 #define ASSERT(p)
64 #define testbusy(p) ((INT)(p)&BUSY)
65 #define setbusy(p) (union store *)((INT)(p)|BUSY)
66 #define clearbusy(p) (union store *)((INT)(p)&~BUSY)
84 register union store *p, *q;
92 p = allocp;
95 if(!testbusy(p->ptr)) {
96 while(!testbusy((q=p->ptr)->ptr)) {
97 ASSERT(q>p);
98 p->ptr = q->ptr;
99 allocp = p;
101 if(q>=p+nw && p+nw>=p)
103 r = p;
105 q = p;
106 p = clearbusy(p->ptr);
107 if(p <= q) {
108 ASSERT(p==allocb);
109 if(p != allocb)
116 p = (union store *)sbrk(0);
117 if (r && !testbusy(r->ptr) && r->ptr + 1 == p)
118 temp -= p - r - 1;
120 if(p+temp <= p)
133 allocp = p + nw;
136 allocp->ptr = p->ptr;
138 p->ptr = setbusy(allocp);
139 return((char *)(p+1));
147 register union store *p = (union store *)ap;
149 allocp = --p;
151 ASSERT(testbusy(p->ptr));
152 p->ptr = clearbusy(p->ptr);
153 ASSERT(p->ptr > allocp);
161 * p points to last cell of arena before new block
168 register union store *p, *q, *s;
176 for(p=allocb; ; p=s) {
177 s = clearbusy(p->ptr);
180 ASSERT(s>p);
182 if(p<q)
185 ASSERT(p>r);
188 p->ptr = q==p+1? q: setbusy(q);
195 /* realloc(p, nbytes) reallocates a block obtained from malloc()
207 register union store *p = (union store *)pp;
212 ASSERT(allock(p-1));
213 if(testbusy(p[-1].ptr))
214 free((char *)p);
215 onw = p[-1].ptr - p;
217 if(q==NULL || q==p)
219 ASSERT(q<p||q>p[-1].ptr);
220 s = p;
228 if(q<p && q+nw>=p)
229 (q+(q+nw-p))->ptr = allocx;
239 register union store *p, *r;
242 p = allocb;
245 for( ; (r=clearbusy(p->ptr)) > p; p=r) {
246 if(p==q)
249 return(r==allocb&(x==1|p==q));