mirror of
https://github.com/PCRE2Project/pcre2.git
synced 2025-10-19 11:21:34 +08:00
75 lines
2.8 KiB
HTML
75 lines
2.8 KiB
HTML
<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>
|