PCRE2_JIT_COMPILE(3) Library Functions ManualPCRE2_JIT_COMPILE(3)PCRE2 - Perl-compatible regular expressions (revised API)
#include <pcre2.h>int pcre2_jit_compile(pcre2_code *code, uint32_toptions);
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 thepcre2_match() interpretive matching function. Full details are given in thepcre2jitdocumentation. The availability of JIT support can be tested by callingpcre2_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 topcre2_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 thepcre2_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 inoptions. 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 thepcre2apipage and a description of the POSIX API in thepcre2posix page.
This page is part of thePCRE (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-08-11. 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 isnot part of the original manual page), send a mail to man-pages@man7.orgPCRE2 10.46-DEV 22 August 2024PCRE2_JIT_COMPILE(3)HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |