Man page - pcre2_jit_stack_assign(3)
Packages contas this manual
- pcre2_match_data_free(3)
- pcre2_match_context_copy(3)
- pcre2_set_substitute_callout(3)
- pcre2_substring_number_from_name(3)
- pcre2_substitute(3)
- pcre2_converted_pattern_free(3)
- pcre2_convert_context_free(3)
- pcre2_jit_stack_free(3)
- pcre2_compile_context_create(3)
- pcre2_maketables_free(3)
- pcre2_jit_compile(3)
- pcre2_set_depth_limit(3)
- pcre2build(3)
- pcre2_substring_get_bynumber(3)
- pcre2_set_compile_recursion_guard(3)
- pcre2_pattern_convert(3)
- pcre2_substring_free(3)
- pcre2_set_bsr(3)
- pcre2_substring_copy_bynumber(3)
- pcre2_substring_length_bynumber(3)
- pcre2_convert_context_create(3)
- pcre2matching(3)
- pcre2_dfa_match(3)
- pcre2_get_ovector_count(3)
- pcre2pattern(3)
- pcre2limits(3)
- pcre2_compile_context_copy(3)
- pcre2_set_substitute_case_callout(3)
- pcre2_set_glob_separator(3)
- pcre2_get_match_data_size(3)
- pcre2_substring_copy_byname(3)
- pcre2_jit_stack_create(3)
- pcre2sample(3)
- pcre2_compile_context_free(3)
- pcre2_set_heap_limit(3)
- pcre2_set_newline(3)
- pcre2convert(3)
- pcre2(3)
- pcre2_set_callout(3)
- pcre2callout(3)
- pcre2_substring_get_byname(3)
- pcre2unicode(3)
- pcre2_general_context_free(3)
- pcre2_set_offset_limit(3)
- pcre2_code_free(3)
- pcre2_substring_nametable_scan(3)
- pcre2_substring_list_free(3)
- pcre2serialize(3)
- pcre2_set_optimize(3)
- pcre2_set_recursion_limit(3)
- pcre2_set_max_pattern_compiled_length(3)
- pcre2_match_data_create_from_pattern(3)
- pcre2_pattern_info(3)
- pcre2_convert_context_copy(3)
- pcre2partial(3)
- pcre2_serialize_decode(3)
- pcre2syntax(3)
- pcre2_set_max_pattern_length(3)
- pcre2_match_data_create(3)
- pcre2api(3)
- pcre2_set_character_tables(3)
- pcre2_code_copy_with_tables(3)
- pcre2_set_max_varlookbehind(3)
- pcre2_set_parens_nest_limit(3)
- pcre2_match_context_create(3)
- pcre2_jit_match(3)
- pcre2_serialize_encode(3)
- pcre2_general_context_create(3)
- pcre2_config(3)
- pcre2_match_context_free(3)
- pcre2_get_match_data_heapframes_size(3)
- pcre2_set_match_limit(3)
- pcre2_set_glob_escape(3)
- pcre2_substring_list_get(3)
- pcre2_get_ovector_pointer(3)
- pcre2_set_compile_extra_options(3)
- pcre2compat(3)
- pcre2_compile(3)
- pcre2_jit_free_unused_memory(3)
- pcre2_serialize_free(3)
- pcre2_get_error_message(3)
- pcre2_get_startchar(3)
- pcre2posix(3)
- pcre2_get_mark(3)
- pcre2_match(3)
- pcre2demo(3)
- pcre2_substring_length_byname(3)
- pcre2_set_recursion_memory_management(3)
- pcre2_serialize_get_number_of_codes(3)
- pcre2_jit_stack_assign(3)
- pcre2-config(1)
- pcre2jit(3)
- pcre2_code_copy(3)
- pcre2_callout_enumerate(3)
- pcre2_maketables(3)
- pcre2_general_context_copy(3)
- pcre2perform(3)
apt-get install libpcre2-dev
Manual
| PCRE2_JIT_STACK_ASSIGN(3) | Library Functions Manual | PCRE2_JIT_STACK_ASSIGN(3) |
NAME
PCRE2 - Perl-compatible regular expressions (revised API)
SYNOPSIS
#include <pcre2.h>
void pcre2_jit_stack_assign(pcre2_match_context *mcontext, pcre2_jit_callback callback_function, void *callback_data);
DESCRIPTION
This function provides control over the memory used by JIT as a run-time stack when pcre2_match() or pcre2_jit_match() is called with a pattern that has been successfully processed by the JIT compiler. The information that determines which stack is used is put into a match context that is subsequently passed to a matching function. The arguments of this function are:
mcontext a pointer to a match context
callback a callback function
callback_data a JIT stack or a value to be passed to the callback
If mcontext is NULL, the function returns immediately, without doing anything.
If callback is NULL and callback_data is NULL, an internal 32KiB block on the machine stack is used.
If callback is NULL and callback_data is not NULL, callback_data must be a valid JIT stack, the result of calling pcre2_jit_stack_create().
If callback not NULL, it is called with callback_data as an argument at the start of matching, in order to set up a JIT stack. If the result is NULL, the internal 32KiB stack is used; otherwise the return value must be a valid JIT stack, the result of calling pcre2_jit_stack_create().
You may safely use the same JIT stack for multiple patterns, as long as they are all matched in the same thread. In a multithread application, each thread must use its own JIT stack. For more details, see the pcre2jit page.
There is a complete description of the PCRE2 native API in the pcre2api page and a description of the POSIX API in the pcre2posix page.
| 13 August 2018 | PCRE2 10.46 |