Tristan Matthews | 0461646 | 2013-11-14 16:09:34 -0500 | [diff] [blame] | 1 | .TH PCRE_ASSIGN_JIT_STACK 3 |
| 2 | .SH NAME |
| 3 | PCRE - Perl-compatible regular expressions |
| 4 | .SH SYNOPSIS |
| 5 | .rs |
| 6 | .sp |
| 7 | .B #include <pcre.h> |
| 8 | .PP |
| 9 | .SM |
| 10 | .B void pcre_assign_jit_stack(pcre_extra *\fIextra\fP, |
| 11 | .ti +5n |
| 12 | .B pcre_jit_callback \fIcallback\fP, void *\fIdata\fP); |
| 13 | . |
| 14 | .SH DESCRIPTION |
| 15 | .rs |
| 16 | .sp |
| 17 | This function provides control over the memory used as a stack at runtime by a |
| 18 | call to \fBpcre_exec()\fP with a pattern that has been successfully compiled |
| 19 | with JIT optimization. The arguments are: |
| 20 | .sp |
| 21 | extra the data pointer returned by \fBpcre_study()\fP |
| 22 | callback a callback function |
| 23 | data a JIT stack or a value to be passed to the callback |
| 24 | function |
| 25 | .P |
| 26 | If \fIcallback\fP is NULL and \fIdata\fP is NULL, an internal 32K block on |
| 27 | the machine stack is used. |
| 28 | .P |
| 29 | If \fIcallback\fP is NULL and \fIdata\fP is not NULL, \fIdata\fP must |
| 30 | be a valid JIT stack, the result of calling \fBpcre_jit_stack_alloc()\fP. |
| 31 | .P |
| 32 | If \fIcallback\fP not NULL, it is called with \fIdata\fP as an argument at |
| 33 | the start of matching, in order to set up a JIT stack. If the result is NULL, |
| 34 | the internal 32K stack is used; otherwise the return value must be a valid JIT |
| 35 | stack, the result of calling \fBpcre_jit_stack_alloc()\fP. |
| 36 | .P |
| 37 | You may safely assign the same JIT stack to multiple patterns, as long as they |
| 38 | are all matched in the same thread. In a multithread application, each thread |
| 39 | must use its own JIT stack. For more details, see the |
| 40 | .\" HREF |
| 41 | \fBpcrejit\fP |
| 42 | .\" |
| 43 | page. |
| 44 | .P |
| 45 | There is a complete description of the PCRE native API in the |
| 46 | .\" HREF |
| 47 | \fBpcreapi\fP |
| 48 | .\" |
| 49 | page and a description of the POSIX API in the |
| 50 | .\" HREF |
| 51 | \fBpcreposix\fP |
| 52 | .\" |
| 53 | page. |