Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PCRE2_JIT_COMPILE(3)	    Library Functions Manual	    PCRE2_JIT_COMPILE(3)

NAME
     PCRE2 - Perl-compatible regular expressions (revised API)

SYNOPSIS

     #include <pcre2.h>

     int pcre2_jit_compile(pcre2_code *code, uint32_t options);

DESCRIPTION

     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_com-
     pile_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_ER-
     ROR_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 suc-
     cessful 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 un-
     known bit is set  in  options.  The  function  can  also  return  PCRE2_ER-
     ROR_NOMEMORY  if  JIT  is unable to allocate executable memory for the com-
     piler, even if it was because of a system security restriction.  In  a  few
     cases,  the function may return with PCRE2_ERROR_JIT_UNSUPPORTED for unsup-
     ported 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.

PCRE2 10.47			 22 August 2024 	    PCRE2_JIT_COMPILE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pcre2_jit_compile&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help