Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
  Revert "Mangle PCRE regex cache key with JIT option"
This commit is contained in:
Ilija Tovilo 2023-06-22 23:14:27 +02:00
commit 7f9ad4a83a
No known key found for this signature in database
GPG Key ID: A4F5D403F118200A
2 changed files with 4 additions and 20 deletions

3
NEWS
View File

@ -2,9 +2,6 @@ PHP NEWS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.2.9 ?? ??? ????, PHP 8.2.9
- PCRE:
. Mangle PCRE regex cache key with JIT option. (mvorisek)
- PDO SQLite: - PDO SQLite:
. Fix GH-11492 (Make test failure: ext/pdo_sqlite/tests/bug_42589.phpt). . Fix GH-11492 (Make test failure: ext/pdo_sqlite/tests/bug_42589.phpt).
(KapitanOczywisty, CViniciusSDias) (KapitanOczywisty, CViniciusSDias)

View File

@ -612,24 +612,11 @@ 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_concat3(
ZSTR_VAL(BG(ctype_string)), ZSTR_LEN(BG(ctype_string)),
ZSTR_VAL(regex), ZSTR_LEN(regex),
#ifdef HAVE_PCRE_JIT_SUPPORT
PCRE_G(jit) ? "1" : "0", 1
#else
"", 0
#endif
);
} else {
#ifdef HAVE_PCRE_JIT_SUPPORT
key = zend_string_concat2( key = zend_string_concat2(
ZSTR_VAL(regex), ZSTR_LEN(regex), ZSTR_VAL(BG(ctype_string)), ZSTR_LEN(BG(ctype_string)),
PCRE_G(jit) ? "1" : "0", 1 ZSTR_VAL(regex), ZSTR_LEN(regex));
); } else {
#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
@ -783,7 +770,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, in
return NULL; return NULL;
} }
if (locale_aware && BG(ctype_string)) { if (key != regex) {
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;