Home | History | Annotate | Download | only in depool

Lines Matching refs:page

37 	INITIAL_PAGE_SIZE		= 128,		/*!< Size for the first allocated memory page.			*/
38 MAX_PAGE_SIZE = 8096, /*!< Maximum size for a memory page. */
39 MEM_PAGE_BASE_ALIGN = 4 /*!< Base alignment guarantee for mem page data ptr. */
46 * \brief Memory page header.
48 * Represent a page of memory allocate by a memory pool.
96 MemPage* currentPage; /*!< Current memory page from which to allocate. */
117 * \brief Initialize a memory page.
118 * \param page Memory page to initialize.
119 * \param capacity Capacity allocated for the memory page.
121 static void MemPage_init (MemPage* page, int capacity)
123 memset(page, 0, sizeof(MemPage));
125 memset(page + 1, 0xCD, capacity);
127 page->capacity = capacity;
132 * \brief Create a new memory page.
133 * \param capacity Capacity for the memory page.
134 * \return The created memory page (or null on failure).
138 MemPage* page = (MemPage*)deMalloc(sizeof(MemPage) + capacity);
139 if (!page)
142 DE_ASSERT(deIsAlignedPtr(page+1, MEM_PAGE_BASE_ALIGN));
144 MemPage_init(page, capacity);
145 return page;
150 * \brief Destroy a memory page.
151 * \param page Memory page to destroy.
153 static void MemPage_destroy (MemPage* page)
157 deUint8* dataPtr = (deUint8*)(page + 1);
158 memset(dataPtr, 0xCD, page->capacity);
160 deFree(page);
182 /* Init first page. */
187 /* Alloc pool from initial page. */
360 /* \note Pool itself is allocated from first page, so we must not touch the pool after freeing the page! */
362 MemPage* page = pool->currentPage;
365 while (page)
367 nextPage = page->nextPage;
368 MemPage_destroy(page);
369 page = nextPage;
468 /* Does not fit to current page. */