Lines Matching refs:max_limit
249 SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_CALL sljit_allocate_stack(sljit_uw limit, sljit_uw max_limit, void *allocator_data)
258 if (limit > max_limit || limit < 1)
284 /* Align max_limit. */
285 max_limit = (max_limit + sljit_page_align) & ~sljit_page_align;
288 ptr = VirtualAlloc(NULL, max_limit, MEM_RESERVE, PAGE_READWRITE);
293 stack->max_limit = (sljit_u8 *)ptr;
294 stack->base = stack->max_limit + max_limit;
301 ptr = (void *)uvm_km_alloc(kernel_map, max_limit, PAGE_SIZE, UVM_KMF_WIRED|UVM_KMF_ZERO);
306 stack->max_limit = (sljit_u8 *)ptr;
307 stack->base = stack->max_limit + max_limit;
311 ptr = mmap(NULL, max_limit, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
319 ptr = mmap(NULL, max_limit, PROT_READ | PROT_WRITE, MAP_PRIVATE, dev_zero, 0);
325 stack->max_limit = (sljit_u8 *)ptr;
326 stack->base = stack->max_limit + max_limit;
339 VirtualFree((void*)stack->max_limit, 0, MEM_RELEASE);
341 uvm_km_free(kernel_map, (vaddr_t)stack->max_limit,
342 stack->base - stack->max_limit, UVM_KMF_WIRED);
344 munmap((void*)stack->max_limit, stack->base - stack->max_limit);
356 if ((new_limit < stack->max_limit) || (new_limit >= stack->base))