Lines Matching refs:size

96 static zx_status_t fuchsia_pages_free(void* addr, size_t size) {  in fuchsia_pages_free()  argument
98 return _zx_vmar_unmap(pages_vmar, ptr, size); in fuchsia_pages_free()
101 static void* fuchsia_pages_trim(void* ret, void* addr, size_t size, in fuchsia_pages_trim() argument
103 size_t trailsize = alloc_size - leadsize - size; in fuchsia_pages_trim()
108 pages_unmap((void *)((uintptr_t)ret + size), trailsize); in fuchsia_pages_trim()
115 pages_map(void *addr, size_t size, bool *commit) in pages_map() argument
119 assert(size != 0); in pages_map()
129 ret = VirtualAlloc(addr, size, MEM_RESERVE | (*commit ? MEM_COMMIT : 0), in pages_map()
132 ret = fuchsia_pages_map(addr, size); in pages_map()
141 ret = mmap(addr, size, prot, mmap_flags, -1, 0); in pages_map()
151 pages_unmap(ret, size); in pages_map()
161 pages_unmap(void *addr, size_t size) in pages_unmap() argument
166 zx_status_t status = fuchsia_pages_free(addr, size); in pages_unmap()
169 if (munmap(addr, size) == -1) in pages_unmap()
194 pages_trim(void *addr, size_t alloc_size, size_t leadsize, size_t size, in pages_trim() argument
199 assert(alloc_size >= leadsize + size); in pages_trim()
205 new_addr = pages_map(ret, size, commit); in pages_trim()
209 pages_unmap(new_addr, size); in pages_trim()
213 return fuchsia_pages_trim(ret, addr, size, alloc_size, leadsize); in pages_trim()
216 size_t trailsize = alloc_size - leadsize - size; in pages_trim()
221 pages_unmap((void *)((uintptr_t)ret + size), trailsize); in pages_trim()
228 pages_commit_impl(void *addr, size_t size, bool commit) in pages_commit_impl() argument
234 return (commit ? (addr != VirtualAlloc(addr, size, MEM_COMMIT, in pages_commit_impl()
235 PAGE_READWRITE)) : (!VirtualFree(addr, size, MEM_DECOMMIT))); in pages_commit_impl()
241 void *result = mmap(addr, size, prot, mmap_flags | MAP_FIXED, in pages_commit_impl()
250 pages_unmap(result, size); in pages_commit_impl()
259 pages_commit(void *addr, size_t size) in pages_commit() argument
261 return (pages_commit_impl(addr, size, true)); in pages_commit()
265 pages_decommit(void *addr, size_t size) in pages_decommit() argument
267 return (pages_commit_impl(addr, size, false)); in pages_decommit()
271 pages_purge_lazy(void *addr, size_t size) in pages_purge_lazy() argument
277 VirtualAlloc(addr, size, MEM_RESET, PAGE_READWRITE); in pages_purge_lazy()
279 madvise(addr, size, MADV_FREE); in pages_purge_lazy()
287 pages_purge_forced(void *addr, size_t size) in pages_purge_forced() argument
293 return (madvise(addr, size, MADV_DONTNEED) != 0); in pages_purge_forced()
300 pages_huge(void *addr, size_t size) in pages_huge() argument
303 assert(HUGEPAGE_CEILING(size) == size); in pages_huge()
306 return (madvise(addr, size, MADV_HUGEPAGE) != 0); in pages_huge()
313 pages_nohuge(void *addr, size_t size) in pages_nohuge() argument
316 assert(HUGEPAGE_CEILING(size) == size); in pages_nohuge()
319 return (madvise(addr, size, MADV_NOHUGEPAGE) != 0); in pages_nohuge()