166 |
void *executable_func; |
void *executable_func; |
167 |
pcre_jit_callback callback; |
pcre_jit_callback callback; |
168 |
void *userdata; |
void *userdata; |
169 |
|
sljit_uw executable_size; |
170 |
} executable_function; |
} executable_function; |
171 |
|
|
172 |
typedef struct jump_list { |
typedef struct jump_list { |
6100 |
uschar *ccend; |
uschar *ccend; |
6101 |
executable_function *function; |
executable_function *function; |
6102 |
void *executable_func; |
void *executable_func; |
6103 |
|
sljit_uw executable_size; |
6104 |
struct sljit_label *leave; |
struct sljit_label *leave; |
6105 |
struct sljit_label *mainloop = NULL; |
struct sljit_label *mainloop = NULL; |
6106 |
struct sljit_label *empty_match_found; |
struct sljit_label *empty_match_found; |
6430 |
|
|
6431 |
SLJIT_FREE(common->localptrs); |
SLJIT_FREE(common->localptrs); |
6432 |
executable_func = sljit_generate_code(compiler); |
executable_func = sljit_generate_code(compiler); |
6433 |
|
executable_size = sljit_get_generated_code_size(compiler); |
6434 |
sljit_free_compiler(compiler); |
sljit_free_compiler(compiler); |
6435 |
if (executable_func == NULL) |
if (executable_func == NULL) |
6436 |
return; |
return; |
6445 |
} |
} |
6446 |
|
|
6447 |
function->executable_func = executable_func; |
function->executable_func = executable_func; |
6448 |
|
function->executable_size = executable_size; |
6449 |
function->callback = NULL; |
function->callback = NULL; |
6450 |
function->userdata = NULL; |
function->userdata = NULL; |
6451 |
extra->executable_jit = function; |
extra->executable_jit = function; |
6534 |
SLJIT_FREE(function); |
SLJIT_FREE(function); |
6535 |
} |
} |
6536 |
|
|
6537 |
|
int |
6538 |
|
_pcre_jit_get_size(void *executable_func) |
6539 |
|
{ |
6540 |
|
return ((executable_function*)executable_func)->executable_size; |
6541 |
|
} |
6542 |
|
|
6543 |
PCRE_EXP_DECL pcre_jit_stack * |
PCRE_EXP_DECL pcre_jit_stack * |
6544 |
pcre_jit_stack_alloc(int startsize, int maxsize) |
pcre_jit_stack_alloc(int startsize, int maxsize) |
6545 |
{ |
{ |