summaryrefslogtreecommitdiff
path: root/doc/html/pcrejit.html
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-06-02 11:03:06 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-06-02 11:03:06 +0000
commit8a790d680cbb1608c59c5fe3c406cb08c2e47b6a (patch)
treea203928ec5623eeabdc27801711128a475d53da4 /doc/html/pcrejit.html
parentabad0e1a2cdb4bfd1dd6671ddf09a7f01f337bef (diff)
downloadpcre-8a790d680cbb1608c59c5fe3c406cb08c2e47b6a.tar.gz
Document update for 8.31-RC1 test release.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@975 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'doc/html/pcrejit.html')
-rw-r--r--doc/html/pcrejit.html32
1 files changed, 15 insertions, 17 deletions
diff --git a/doc/html/pcrejit.html b/doc/html/pcrejit.html
index 33a6d85..ea1c6cc 100644
--- a/doc/html/pcrejit.html
+++ b/doc/html/pcrejit.html
@@ -104,7 +104,7 @@ this to free the study data:
pcre_free(study_ptr);
#endif
</pre>
-PCRE_STUDY_JIT_COMPILE requests the JIT compiler to generate code for complete
+PCRE_STUDY_JIT_COMPILE requests the JIT compiler to generate code for complete
matches. If you want to run partial matches using the PCRE_PARTIAL_HARD or
PCRE_PARTIAL_SOFT options of <b>pcre_exec()</b>, you should set one or both of
the following options in addition to, or instead of, PCRE_STUDY_JIT_COMPILE
@@ -129,7 +129,7 @@ If JIT support is not available, PCRE_STUDY_JIT_COMPILE etc. are ignored, and
no JIT data is created. Otherwise, the compiled pattern is passed to the JIT
compiler, which turns it into machine code that executes much faster than the
normal interpretive code. When <b>pcre_exec()</b> is passed a <b>pcre_extra</b>
-block containing a pointer to JIT code of the appropriate mode (normal or
+block containing a pointer to JIT code of the appropriate mode (normal or
hard/soft partial), it obeys that code instead of running the interpreter. The
result is identical, but the compiled JIT code runs much faster.
</P>
@@ -169,10 +169,8 @@ The unsupported pattern items are:
<pre>
\C match a single byte; not supported in UTF-8 mode
(?Cn) callouts
- (*COMMIT) )
- (*MARK) )
- (*PRUNE) ) the backtracking control verbs
- (*SKIP) )
+ (*PRUNE) )
+ (*SKIP) ) backtracking control verbs
(*THEN) )
</pre>
Support for some of these may be added in future.
@@ -250,15 +248,15 @@ two options:
(2) If <i>callback</i> is NULL and <i>data</i> is not NULL, <i>data</i> must be
a valid JIT stack, the result of calling <b>pcre_jit_stack_alloc()</b>.
- (3) If <i>callback</i> is not NULL, it must point to a function that is
- called with <i>data</i> as an argument at the start of matching, in
- order to set up a JIT stack. If the return from the callback
- function is NULL, the internal 32K stack is used; otherwise the
- return value must be a valid JIT stack, the result of calling
+ (3) If <i>callback</i> is not NULL, it must point to a function that is
+ called with <i>data</i> as an argument at the start of matching, in
+ order to set up a JIT stack. If the return from the callback
+ function is NULL, the internal 32K stack is used; otherwise the
+ return value must be a valid JIT stack, the result of calling
<b>pcre_jit_stack_alloc()</b>.
</pre>
-A callback function is obeyed whenever JIT code is about to be run; it is not
-obeyed when <b>pcre_exec()</b> is called with options that are incompatible for
+A callback function is obeyed whenever JIT code is about to be run; it is not
+obeyed when <b>pcre_exec()</b> is called with options that are incompatible for
JIT execution. A callback function can therefore be used to determine whether a
match operation was executed by JIT or by the interpreter.
</P>
@@ -266,9 +264,9 @@ match operation was executed by JIT or by the interpreter.
You may safely use the same JIT stack for more than one pattern (either by
assigning directly or by callback), as long as the patterns are all matched
sequentially in the same thread. In a multithread application, if you do not
-specify a JIT stack, or if you assign or pass back NULL from a callback, that
-is thread-safe, because each thread has its own machine stack. However, if you
-assign or pass back a non-NULL JIT stack, this must be a different stack for
+specify a JIT stack, or if you assign or pass back NULL from a callback, that
+is thread-safe, because each thread has its own machine stack. However, if you
+assign or pass back a non-NULL JIT stack, this must be a different stack for
each thread so that the application is thread-safe.
</P>
<P>
@@ -415,7 +413,7 @@ Cambridge CB2 3QH, England.
</P>
<br><a name="SEC13" href="#TOC1">REVISION</a><br>
<P>
-Last updated: 14 April 2012
+Last updated: 04 May 2012
<br>
Copyright &copy; 1997-2012 University of Cambridge.
<br>