| <html> |
| <head> |
| <title>pcre2_jit_compile specification</title> |
| </head> |
| <body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB"> |
| <h1>pcre2_jit_compile man page</h1> |
| <p> |
| Return to the <a href="index.html">PCRE2 index page</a>. |
| </p> |
| <p> |
| This page is part of the PCRE2 HTML documentation. It was generated |
| automatically from the original man page. If there is any nonsense in it, |
| please consult the man page, in case the conversion went wrong. |
| <br> |
| <h2> |
| SYNOPSIS |
| </h2> |
| <p> |
| <b>#include <pcre2.h></b> |
| </p> |
| <p> |
| <b>int pcre2_jit_compile(pcre2_code *<i>code</i>, uint32_t <i>options</i>);</b> |
| </p> |
| <h2> |
| DESCRIPTION |
| </h2> |
| <p> |
| This function requests JIT compilation, which, if the just-in-time compiler is |
| available, further processes a compiled pattern into machine code that executes |
| much faster than the <b>pcre2_match()</b> interpretive matching function. Full |
| details are given in the |
| <a href="pcre2jit.html"><b>pcre2jit</b></a> |
| documentation. |
| </p> |
| <p> |
| The availability of JIT support can be tested by calling |
| <b>pcre2_compile_jit()</b> with a single option PCRE2_JIT_TEST_ALLOC (the |
| code argument is ignored, so a NULL value is accepted). Such a call |
| returns zero if JIT is available and has a working allocator. Otherwise |
| it returns PCRE2_ERROR_NOMEMORY if JIT is available but cannot allocate |
| executable memory, or PCRE2_ERROR_JIT_UNSUPPORTED if JIT support is not |
| compiled. |
| </p> |
| <p> |
| Otherwise, the first argument must be a pointer that was returned by a |
| successful call to <b>pcre2_compile()</b>, and the second must contain one or |
| more of the following bits: |
| <pre> |
| PCRE2_JIT_COMPLETE compile code for full matching |
| PCRE2_JIT_PARTIAL_SOFT compile code for soft partial matching |
| PCRE2_JIT_PARTIAL_HARD compile code for hard partial matching |
| </pre> |
| There is also an obsolete option called PCRE2_JIT_INVALID_UTF, which has been |
| superseded by the <b>pcre2_compile()</b> option PCRE2_MATCH_INVALID_UTF. The old |
| option is deprecated and may be removed in the future. |
| </p> |
| <p> |
| The yield of the function when called with any of the three options above is 0 |
| for success, or a negative error code otherwise. In particular, |
| PCRE2_ERROR_JIT_BADOPTION is returned if JIT is not supported or if an unknown |
| bit is set in <i>options</i>. The function can also return PCRE2_ERROR_NOMEMORY |
| if JIT is unable to allocate executable memory for the compiler, even if it was |
| because of a system security restriction. In a few cases, the function may |
| return with PCRE2_ERROR_JIT_UNSUPPORTED for unsupported features. |
| </p> |
| <p> |
| There is a complete description of the PCRE2 native API in the |
| <a href="pcre2api.html"><b>pcre2api</b></a> |
| page and a description of the POSIX API in the |
| <a href="pcre2posix.html"><b>pcre2posix</b></a> |
| page. |
| <p> |
| Return to the <a href="index.html">PCRE2 index page</a>. |
| </p> |