Lines Matching refs:mp
89 znalloc(MemPool *mp, uintptr_t bytes)
106 if (bytes <= mp->mp_Size - mp->mp_Used) {
110 for (pmn = &mp->mp_First; (mn=*pmn) != NULL; pmn = &mn->mr_Next) {
130 mp->mp_Used += bytes;
148 zfree(MemPool *mp, void *ptr, uintptr_t bytes)
163 if ((char *)ptr < (char *)mp->mp_Base ||
164 (char *)ptr + bytes > (char *)mp->mp_End ||
176 mp->mp_Used -= bytes;
178 for (pmn = &mp->mp_First; (mn = *pmn) != NULL; pmn = &mn->mr_Next) {
212 if (pmn != &mp->mp_First) {
231 if (pmn == &mp->mp_First ||
257 zextendPool(MemPool *mp, void *base, uintptr_t bytes)
259 if (mp->mp_Size == 0) {
260 mp->mp_Base = base;
261 mp->mp_Used = bytes;
262 mp->mp_End = (char *)base + bytes;
263 mp->mp_Size = bytes;
265 void *pend = (char *)mp->mp_Base + mp->mp_Size;
267 if (base < mp->mp_Base) {
268 mp->mp_Size += (char *)mp->mp_Base - (char *)base;
269 mp->mp_Used += (char *)mp->mp_Base - (char *)base;
270 mp->mp_Base = base;
274 mp->mp_Size += (char *)base - (char *)pend;
275 mp->mp_Used += (char *)base - (char *)pend;
276 mp->mp_End = (char *)base;
284 zallocstats(MemPool *mp)
291 printf("%d bytes reserved", (int) mp->mp_Size);
293 mn = mp->mp_First;
295 if ((void *)mn != (void *)mp->mp_Base) {
296 abytes += (char *)mn - (char *)mp->mp_Base;
300 if ((char *)mn + mn->mr_Bytes != mp->mp_End) {