jit_machine_stack_exec(jit_arguments *arguments, jit_function executable_func)
55 sljit_u8local_space[MACHINE_STACK_SIZE];
59local_stack.start = local_space;
60local_stack.end = local_space + MACHINE_STACK_SIZE;
61local_stack.top = local_space + MACHINE_STACK_SIZE;
62arguments->stack = &local_stack;
63 returnexecutable_func(arguments);
109executable_functions *functions = (executable_functions *)re->
executable_jit;
114 void*executable_func;
115jit_function call_executable_func;
116} convert_executable_func;
117jit_arguments arguments;
126 if(functions ==
NULL|| functions->executable_funcs[index] ==
NULL)
130arguments.str =
subject+ start_offset;
132arguments.end =
subject+ length;
134arguments.startchar_ptr =
subject;
135arguments.mark_ptr =
NULL;
136arguments.options = options;
138 if(mcontext !=
NULL)
140arguments.callout = mcontext->callout;
141arguments.callout_data = mcontext->callout_data;
142arguments.offset_limit = mcontext->offset_limit;
143arguments.limit_match = (mcontext->match_limit < re->limit_match)?
144mcontext->match_limit : re->limit_match;
145 if(mcontext->jit_callback !=
NULL)
146 jit_stack= mcontext->jit_callback(mcontext->jit_callback_data);
152arguments.callout =
NULL;
153arguments.callout_data =
NULL;
155arguments.limit_match = (
MATCH_LIMIT< re->limit_match)?
164arguments.oveccount = oveccount << 1;
167convert_executable_func.executable_func = functions->executable_funcs[index];
171rc = convert_executable_func.call_executable_func(&arguments);
174rc = jit_machine_stack_exec(&arguments, convert_executable_func.call_executable_func);
176 if(rc > (
int)oveccount)
188 #if defined(__has_feature) 189 #if __has_feature(memory_sanitizer)if(yy_accept[yy_current_state])
#define PCRE2_ERROR_JIT_BADOPTION
#define PCRE2_PARTIAL_SOFT
#define PCRE2_PARTIAL_HARD
#define pcre2_match_context
#define PCRE2_CALL_CONVENTION
#define PCRE2_ERROR_PARTIAL
PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION pcre2_jit_match(const pcre2_code *code, PCRE2_SPTR subject, PCRE2_SIZE length, PCRE2_SIZE start_offset, uint32_t options, pcre2_match_data *match_data, pcre2_match_context *mcontext)
static pcre2_match_data * match_data
static PCRE2_JIT_STACK * jit_stack
static uint32_t max_oveccount
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4