42#ifndef INCLUDED_FROM_PCRE2_JIT_COMPILE
43#error This file must be included from pcre2_jit_compile.c.
85executable_functions *
functions = (executable_functions *)executable_jit;
86void *allocator_data = memctl;
89for (i = 0; i < JIT_NUMBER_OF_COMPILE_MODES; i++)
113#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR)
140if (startsize == 0 || maxsize == 0 || maxsize >
SIZE_MAX - STACK_GROWTH_RATE)
142if (startsize > maxsize)
144startsize = (startsize + STACK_GROWTH_RATE - 1) & (
size_t)(~(STACK_GROWTH_RATE - 1));
145maxsize = (maxsize + STACK_GROWTH_RATE - 1) & (
size_t)(~(STACK_GROWTH_RATE - 1));
150if (jit_stack->stack ==
NULL)
152 jit_stack->memctl.free(jit_stack, jit_stack->memctl.memory_data);
175if (mcontext ==
NULL)
return;
177mcontext->jit_callback_data = callback_data;
193if (jit_stack !=
NULL)
196 jit_stack->memctl.free(jit_stack, jit_stack->memctl.memory_data);
210return "JIT is not supported";
228sljit_uw *executable_sizes = ((executable_functions *)executable_jit)->executable_sizes;
230return executable_sizes[0] + executable_sizes[1] + executable_sizes[2];
#define pcre2_jit_stack_assign
#define pcre2_general_context
#define pcre2_jit_stack_free
#define pcre2_jit_free_unused_memory
#define pcre2_match_context
#define PCRE2_CALL_CONVENTION
#define pcre2_jit_callback
#define pcre2_jit_stack_create
#define pcre2_real_jit_stack
void *PRIV memctl_malloc(size_t size, pcre2_memctl *memctl)
void PRIV jit_free(void *executable_jit, pcre2_memctl *memctl)
const char *PRIV jit_get_target(void)
void PRIV jit_free_rodata(void *current, void *allocator_data)
size_t PRIV jit_get_size(void *executable_jit)
#define SLJIT_COMPILE_ASSERT(x, description)
#define SLJIT_FREE(ptr, allocator_data)
#define SLJIT_UNUSED_ARG(arg)
SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void)
SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void *code, void *exec_allocator_data)
SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name(void)
SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack *SLJIT_FUNC sljit_allocate_stack(sljit_uw start_size, sljit_uw max_size, void *allocator_data)
SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data)
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)