mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-8.2'
* PHP-8.2: Mangle PCRE regex cache key with JIT option
This commit is contained in:
commit
99340269c6
1 changed files with 16 additions and 3 deletions
|
@ -612,11 +612,24 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, in
|
||||||
pcre_cache_entry *ret;
|
pcre_cache_entry *ret;
|
||||||
|
|
||||||
if (locale_aware && BG(ctype_string)) {
|
if (locale_aware && BG(ctype_string)) {
|
||||||
key = zend_string_concat2(
|
key = zend_string_concat3(
|
||||||
ZSTR_VAL(BG(ctype_string)), ZSTR_LEN(BG(ctype_string)),
|
ZSTR_VAL(BG(ctype_string)), ZSTR_LEN(BG(ctype_string)),
|
||||||
ZSTR_VAL(regex), ZSTR_LEN(regex));
|
ZSTR_VAL(regex), ZSTR_LEN(regex),
|
||||||
|
#ifdef HAVE_PCRE_JIT_SUPPORT
|
||||||
|
PCRE_G(jit) ? "1" : "0", 1
|
||||||
|
#else
|
||||||
|
"", 0
|
||||||
|
#endif
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef HAVE_PCRE_JIT_SUPPORT
|
||||||
|
key = zend_string_concat2(
|
||||||
|
ZSTR_VAL(regex), ZSTR_LEN(regex),
|
||||||
|
PCRE_G(jit) ? "1" : "0", 1
|
||||||
|
);
|
||||||
|
#else
|
||||||
key = regex;
|
key = regex;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try to lookup the cached regex entry, and if successful, just pass
|
/* Try to lookup the cached regex entry, and if successful, just pass
|
||||||
|
@ -770,7 +783,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, in
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key != regex) {
|
if (locale_aware && BG(ctype_string)) {
|
||||||
tables = (uint8_t *)zend_hash_find_ptr(&char_tables, BG(ctype_string));
|
tables = (uint8_t *)zend_hash_find_ptr(&char_tables, BG(ctype_string));
|
||||||
if (!tables) {
|
if (!tables) {
|
||||||
zend_string *_k;
|
zend_string *_k;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue