Lines Matching refs:size

95 	sljit_uw size;  member
106 sljit_uw size; member
115 #define ALIGN_SIZE(size) (((size) + sizeof(struct block_header) + 7u) & ~(sljit_uw)7) argument
122 static SLJIT_INLINE void sljit_insert_free_block(struct free_block *free_block, sljit_uw size) in sljit_insert_free_block() argument
124 free_block->header.size = 0; in sljit_insert_free_block()
125 free_block->size = size; in sljit_insert_free_block()
147 SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) in sljit_malloc_exec() argument
164 if (size < (64 - sizeof(struct block_header))) in sljit_malloc_exec()
165 size = (64 - sizeof(struct block_header)); in sljit_malloc_exec()
166 size = ALIGN_SIZE(size); in sljit_malloc_exec()
171 if (free_block->size >= size) { in sljit_malloc_exec()
172 chunk_size = free_block->size; in sljit_malloc_exec()
174 if (chunk_size > size + 64) { in sljit_malloc_exec()
176 chunk_size -= size; in sljit_malloc_exec()
177 free_block->size = chunk_size; in sljit_malloc_exec()
183 AS_BLOCK_HEADER(header, size)->prev_size = size; in sljit_malloc_exec()
187 size = chunk_size; in sljit_malloc_exec()
189 allocated_size += size; in sljit_malloc_exec()
190 header->size = size; in sljit_malloc_exec()
197 chunk_size = (size + CHUNK_EXTRA_SIZE + CHUNK_SIZE - 1) & CHUNK_MASK; in sljit_malloc_exec()
219 if (chunk_size > size + 64) { in sljit_malloc_exec()
221 allocated_size += size; in sljit_malloc_exec()
222 header->size = size; in sljit_malloc_exec()
223 chunk_size -= size; in sljit_malloc_exec()
225 free_block = AS_FREE_BLOCK(header, size); in sljit_malloc_exec()
226 free_block->header.prev_size = size; in sljit_malloc_exec()
235 header->size = chunk_size; in sljit_malloc_exec()
238 next_header->size = 1; in sljit_malloc_exec()
257 allocated_size -= header->size; in sljit_free_exec()
266 if (SLJIT_UNLIKELY(!free_block->header.size)) { in sljit_free_exec()
267 free_block->size += header->size; in sljit_free_exec()
268 header = AS_BLOCK_HEADER(free_block, free_block->size); in sljit_free_exec()
269 header->prev_size = free_block->size; in sljit_free_exec()
272 sljit_insert_free_block(free_block, header->size); in sljit_free_exec()
275 header = AS_BLOCK_HEADER(free_block, free_block->size); in sljit_free_exec()
276 if (SLJIT_UNLIKELY(!header->size)) { in sljit_free_exec()
277 free_block->size += ((struct free_block*)header)->size; in sljit_free_exec()
279 header = AS_BLOCK_HEADER(free_block, free_block->size); in sljit_free_exec()
280 header->prev_size = free_block->size; in sljit_free_exec()
284 if (SLJIT_UNLIKELY(!free_block->header.prev_size && header->size == 1)) { in sljit_free_exec()
286 if (total_size - free_block->size > (allocated_size * 3 / 2)) { in sljit_free_exec()
287 total_size -= free_block->size; in sljit_free_exec()
289 free_chunk(free_block, free_block->size + CHUNK_EXTRA_SIZE); in sljit_free_exec()
309 AS_BLOCK_HEADER(free_block, free_block->size)->size == 1) { in sljit_free_unused_memory_exec()
310 total_size -= free_block->size; in sljit_free_unused_memory_exec()
312 free_chunk(free_block, free_block->size + CHUNK_EXTRA_SIZE); in sljit_free_unused_memory_exec()