pcre2_jit_compile(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | COLOPHON

PCRE2_JIT_COMPILE(3)     Library Functions Manual    PCRE2_JIT_COMPILE(3)

NAME         top

       PCRE2 - Perl-compatible regular expressions (revised API)

SYNOPSIS         top


       #include <pcre2.h>

       int pcre2_jit_compile(pcre2_code *code, uint32_t options);

DESCRIPTION         top


       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 pcre2_match()
       interpretive matching function. Full details are given in the
       pcre2jit documentation.

       The availability of JIT support can be tested by calling
       pcre2_compile_jit() 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.

       Otherwise, the first argument must be a pointer that was returned
       by a successful call to pcre2_compile(), and the second must
       contain one or more of the following bits:

         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

       There is also an obsolete option called PCRE2_JIT_INVALID_UTF,
       which has been superseded by the pcre2_compile() option
       PCRE2_MATCH_INVALID_UTF. The old option is deprecated and may be
       removed in the future.

       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 options. 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.

       There is a complete description of the PCRE2 native API in the
       pcre2api page and a description of the POSIX API in the pcre2posix
       page.

COLOPHON         top

       This page is part of the PCRE (Perl Compatible Regular
       Expressions) project.  Information about the project can be found
       at ⟨http://www.pcre.org/⟩.  If you have a bug report for this
       manual page, see
       ⟨http://bugs.exim.org/enter_bug.cgi?product=PCRE⟩.  This page was
       obtained from the tarball fetched from
       ⟨https://github.com/PhilipHazel/pcre2.git⟩ on 2025-02-02.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for the
       page, or you have corrections or improvements to the information
       in this COLOPHON (which is not part of the original manual page),
       send a mail to man-pages@man7.org

PCRE2 10.46-DEV               22 August 2024         PCRE2_JIT_COMPILE(3)