version 1.1.1.1, 2012/02/21 23:05:52
|
version 1.1.1.5, 2014/06/15 19:46:04
|
Line 1
|
Line 1
|
.TH PCRE_ASSIGN_JIT_STACK 3 | .TH PCRE_ASSIGN_JIT_STACK 3 "24 June 2012" "PCRE 8.30" |
.SH NAME |
.SH NAME |
PCRE - Perl-compatible regular expressions |
PCRE - Perl-compatible regular expressions |
.SH SYNOPSIS |
.SH SYNOPSIS |
Line 6 PCRE - Perl-compatible regular expressions
|
Line 6 PCRE - Perl-compatible regular expressions
|
.sp |
.sp |
.B #include <pcre.h> |
.B #include <pcre.h> |
.PP |
.PP |
.SM | .nf |
.B void pcre_assign_jit_stack(pcre_extra *\fIextra\fP, |
.B void pcre_assign_jit_stack(pcre_extra *\fIextra\fP, |
.ti +5n | .B " pcre_jit_callback \fIcallback\fP, void *\fIdata\fP);" |
.B pcre_jit_callback \fIcallback\fP, void *\fIdata\fP); | . |
| .B void pcre16_assign_jit_stack(pcre16_extra *\fIextra\fP, |
| .B " pcre16_jit_callback \fIcallback\fP, void *\fIdata\fP);" |
| .sp |
| .B void pcre32_assign_jit_stack(pcre32_extra *\fIextra\fP, |
| .B " pcre32_jit_callback \fIcallback\fP, void *\fIdata\fP);" |
| .fi |
. |
. |
.SH DESCRIPTION |
.SH DESCRIPTION |
.rs |
.rs |
.sp |
.sp |
This function provides control over the memory used as a stack at runtime by a | This function provides control over the memory used as a stack at run-time by a |
call to \fBpcre_exec()\fP with a pattern that has been successfully compiled | call to \fBpcre[16|32]_exec()\fP with a pattern that has been successfully |
with JIT optimization. The arguments are: | compiled with JIT optimization. The arguments are: |
.sp |
.sp |
extra the data pointer returned by \fBpcre_study()\fP | extra the data pointer returned by \fBpcre[16|32]_study()\fP |
callback a callback function |
callback a callback function |
data a JIT stack or a value to be passed to the callback |
data a JIT stack or a value to be passed to the callback |
function |
function |
Line 27 If \fIcallback\fP is NULL and \fIdata\fP is NULL, an i
|
Line 33 If \fIcallback\fP is NULL and \fIdata\fP is NULL, an i
|
the machine stack is used. |
the machine stack is used. |
.P |
.P |
If \fIcallback\fP is NULL and \fIdata\fP is not NULL, \fIdata\fP must |
If \fIcallback\fP is NULL and \fIdata\fP is not NULL, \fIdata\fP must |
be a valid JIT stack, the result of calling \fBpcre_jit_stack_alloc()\fP. | be a valid JIT stack, the result of calling \fBpcre[16|32]_jit_stack_alloc()\fP. |
.P |
.P |
If \fIcallback\fP not NULL, it is called with \fIdata\fP as an argument at |
If \fIcallback\fP not NULL, it is called with \fIdata\fP as an argument at |
the start of matching, in order to set up a JIT stack. If the result is NULL, |
the start of matching, in order to set up a JIT stack. If the result is NULL, |
the internal 32K stack is used; otherwise the return value must be a valid JIT |
the internal 32K stack is used; otherwise the return value must be a valid JIT |
stack, the result of calling \fBpcre_jit_stack_alloc()\fP. | stack, the result of calling \fBpcre[16|32]_jit_stack_alloc()\fP. |
.P |
.P |
You may safely assign the same JIT stack to multiple patterns, as long as they |
You may safely assign the same JIT stack to multiple patterns, as long as they |
are all matched in the same thread. In a multithread application, each thread |
are all matched in the same thread. In a multithread application, each thread |