| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a locale other than C is active, character tables are saved into the
compile context. Every compiled pattern will have a pointer to the
character table, that was present in the context at the time of the
pattern compilation. Thus, the cache entries don't need to carry char
tables pointer, which reduces their size to 8 bytes on 64-bit. Instead,
the generated character tables are tracked in a separate HashTable. If a
character table was generated before, it'll be assigned to the compile
context when the locale changes. Otherwise a new char table will be
generated and cached.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
PREG_JIT_STACKLIMIT_ERROR
Looks like some patterns might require more stack for JIT execution. It
is a regression, as the same pattern was passing using JIT.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The migration from PCRE to PCRE2 missed to rename once occurrence of
`PCRE_UCP` to `PCRE2_UCP`. We fix that. We also revert the changes to
bug52971.phpt which had been incorrectly made in commit a5bc5ae[1].
[1] <http://git.php.net/?p=php-src.git;a=commit;h=a5bc5aed71f7a15f14f33bb31b8e17bf5f327e2d>
|
| | |
| | |
| | |
| | | |
where we sure about string persistence.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.2:
Fix use after free revealed by phpdbg
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.1:
Fix use after free revealed by phpdbg
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.2:
Fixed #75539 and #74183 - preg_last_error not returning error code after error
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.1:
Fixed #75539 and #74183 - preg_last_error not returning error code after error
|
| | |\
| | | |
| | | |
| | | |
| | | | |
* PHP-7.0:
Fixed #75539 and #74183 - preg_last_error not returning error code after error
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* 'master' of git.php.net:php-src:
Fix (*NO_JIT) usage when JIT is enabled
Refactor ASCII to wide conversion
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If (*NO_JIT) is put into the pattern, the JIT compilation will still
succeed but produce no code. The pattern will still have to be
interpreted and is not suitable for the JIT fast path. This means,
we still need to check the pattern info after JIT compilation and only
set the flags when the JIT code was produced.
|
|/ / / / |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-7.2:
Fix UTF check in pcre_grep
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In this case it loops through different subjects without looking for sub
matches and matches are done against the same pattern. Thus, don't reset
the UTF check flag but use it to check whether JIT should be used and
otherwise let PCRE to do the job according to what was saved into the
pattern.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-7.2:
Fix uninitialized flag when JIT is disabled
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
pcre2_match_data_create() already takes size in pairs.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
RFC https://wiki.php.net/rfc/pcre2-migration
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
elements into PCRE cache (we checked the existance before).
|
| | |
| | |
| | |
| | | |
first input string)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
HEADSUP! With PCRE 8.39 the JIT related code was changed in the way,
that additional valgrind options became almost unavoidable. Valgrind
had it already sometimes hard with JIT, now there are seem to be more
cases requiring special valgrind options.
For this reason, the new configure option --with-pcre-valgrind was
introduced. The option is development/debugging only and turns on the
Valgrind related pieces in PCRE, so then false positives are avoided
to the big part. In addition, run-tests.php was added a new valgrind
option, when the leak check is enabled and the test filepath contains
pcre.
Thus, to debug the code related to PCRE with JIT enabled, two things
would likely make sense
- configure --with-pcre-valgrind
- valgrind option --smc-check=all if run-tests.php is not used
The checks so far reveal no new issues.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Mostly the callback name is only used to report an error. Try to
avoid calculating it if no error occurred.
|