--- code/trunk/doc/html/pcrejit.html 2012/06/02 05:56:58 974 +++ code/trunk/doc/html/pcrejit.html 2012/06/02 11:03:06 975 @@ -104,7 +104,7 @@ pcre_free(study_ptr); #endif -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 pcre_exec(), you should set one or both of the following options in addition to, or instead of, PCRE_STUDY_JIT_COMPILE @@ -129,7 +129,7 @@ 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 pcre_exec() is passed a pcre_extra -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.

@@ -169,10 +169,8 @@
   \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)        )
 
Support for some of these may be added in future. @@ -250,15 +248,15 @@ (2) If callback is NULL and data is not NULL, data must be a valid JIT stack, the result of calling pcre_jit_stack_alloc(). - (3) If callback is not NULL, it must point to a function that is - called with data 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 callback is not NULL, it must point to a function that is + called with data 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 pcre_jit_stack_alloc(). -A callback function is obeyed whenever JIT code is about to be run; it is not -obeyed when pcre_exec() 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 pcre_exec() 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.

@@ -266,9 +264,9 @@ 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.

@@ -415,7 +413,7 @@


REVISION

-Last updated: 14 April 2012 +Last updated: 04 May 2012
Copyright © 1997-2012 University of Cambridge.