Lines Matching refs:size
66 void *address, size_t size)
75 tmp->size = size;
80 mm, tmp2, address, size);
85 /* Creates a shared memory area of a certain size */
88 mm_create(struct mm_master *mmalloc, size_t size)
105 address = xmmap(size);
107 fatal("mmap(%zu): %s", size, strerror(errno));
110 mm->size = size;
115 mm_make_entry(mm, &mm->rb_free, address, size);
146 if (munmap(mm->address, mm->size) == -1)
147 fatal("munmap(%p, %zu): %s", mm->address, mm->size,
160 mm_xmalloc(struct mm_master *mm, size_t size)
164 address = mm_malloc(mm, size);
166 fatal("%s: mm_malloc(%zu)", __func__, size);
167 memset(address, 0, size);
175 mm_malloc(struct mm_master *mm, size_t size)
179 if (size == 0)
181 if (size > SIZE_MAX - MM_MINSIZE + 1)
182 fatal("mm_malloc: size too big");
184 size = ((size + (MM_MINSIZE - 1)) / MM_MINSIZE) * MM_MINSIZE;
187 if (mms->size >= size)
195 memset(mms->address, 0xd0, size);
197 tmp = mm_make_entry(mm, &mm->rb_allocated, mms->address, size);
200 mms->size -= size;
201 mms->address = (char *)mms->address + size;
203 if (mms->size == 0) {
227 memset(mms->address, 0xd0, mms->size);
255 prev->address, prev->size, address);
259 prev->size += mms->size;
278 mms->address, prev->address, prev->size);
282 prev->size += mms->size;
302 mm_memvalid(mm, mms->address, mms->size);
324 mmalloc = mm_create(NULL, mm->size);
347 mm_memvalid(struct mm_master *mm, void *address, size_t size)
349 void *end = (char *)address + size;