1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 17:38:14 +02:00
Commit Graph

1017 Commits

Author SHA1 Message Date
Xinchen Hui 13eca3d428 Avoding memory allocation 2018-02-26 16:54:53 +08:00
Xinchen Hui fd88e7e3a1 Avoding memory allocation 2018-02-26 16:48:49 +08:00
zufuliu bff179888f Improve similar_text(), reduce recursive call to php_similar_char()
If the longest common substring is the leftmost common substring, there
is no need to check the string prefixes for further common substrings,
since there are none.
2018-02-22 15:59:24 +01:00
Anatol Belski bc3de8caea Fix def signature to match declaration 2018-02-21 11:53:38 +01:00
Xinchen Hui 91635b011b Optimized php_stripslash with SSSE3 instr 2018-02-21 10:09:11 +08:00
Xinchen Hui 5091f5ff9c Simplified the codes (the penalty of loading unaligned address is negligible) 2018-02-20 20:56:23 +08:00
Xinchen Hui 22e7329d9a change layout 2018-02-18 19:47:41 +08:00
Xinchen Hui ac5cdd46f3 Move map out of loop 2018-02-18 19:34:48 +08:00
Xinchen Hui c79f2de2cf Optimized strrev with SSSE3
since strrev is not wildly used, and SSSE3 is defined default by some
compiler, so won't try to do ifunc here.
2018-02-17 23:19:31 +08:00
Xinchen Hui ab9162426b change argument parsing 2018-02-17 22:29:59 +08:00
Xinchen Hui cf0fae5e97 Optimized base64_encode/decode with SIMD instructions 2018-02-12 20:53:14 +08:00
Xinchen Hui 7ce72f0cf5 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src: (37 commits)
  Avoid conditions inside loop
  Improve loop vectorization
  Improve loop vectorization
  Remove unused function
  Fixed bug #75938
  Remove unused files
  Fixed bug #75940 Unnecessary compile wrapper with PHP_THREAD_SAFETY=yes
  typo
  Update README.GIT-RULES
  Fix SKIPIF section
  Fixes bug #75871 Use pkg-config for libxml2 if available
  Fixed bug #49876 lib path on 64bit distros
  Refactor testing READMEs
  Fixed bug #65414
  Fixed bug #65414
  Fixed bug #74519 strange behavior of AppendIterator
  fix #74519 strange behavior of AppendIterator
  Use bool instead of boolean
  Remove space between function name and open parentheses
  Fix some misspellings
  ...
2018-02-10 17:01:55 +08:00
Xinchen Hui 87b7180480 Fixed cpu feature check in reslover functions 2018-02-10 16:58:27 +08:00
Gabriel Caruso 2d48d734a2 Fix some misspellings 2018-02-06 16:59:00 +01:00
Gabriel Caruso affc20f891 Use bool instead of boolean in proto 2018-02-04 17:00:24 +01:00
Anatol Belski a06cde8236 If the target attribute is available, attach it explicitly
The ifunc attribute might be not available as it is binary format
dependent.
2018-02-03 17:18:41 +01:00
Anatol Belski 92f9fde23a Macrify the common operation 2018-01-24 18:35:40 +01:00
Anatol Belski 7e2a9936d3 Move useful macro into zend_portability.h 2018-01-24 10:14:28 +01:00
Anatol Belski a6e86f7a3f Implement intrinsic function resolving per MINIT 2018-01-24 09:33:32 +01:00
Anatol Belski 8d4b57f62c Add missing closing fold 2018-01-17 20:48:13 +01:00
Xinchen Hui 5618a5cfd9 Don't use ifunc if compiling with __SSE4_2__ deinfed 2018-01-17 17:31:10 +08:00
Xinchen Hui 3a3e0493d0 Added ZEND_API zend_cpu_supports 2018-01-16 14:53:00 +08:00
Xinchen Hui 0b7a968109 Added missed PHPAPI 2018-01-15 21:39:25 +08:00
Xinchen Hui 98aa3a65c4 Optimized php_addslashes with SSE4.2 instructions
According to benchmark
(https://gist.github.com/laruence/fd0d443d2c5bacca9d8ab99250499956) this brings 30%+ execution time reduced.

In the further, this open the door for possible SSE4.2 optimizations in
other places.
2018-01-15 21:17:50 +08:00
Xinchen Hui 6b9e2b79a0 minor optimize on strstr 2018-01-10 18:22:59 +08:00
Xinchen Hui d80abbf9ce Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75781 (substr_count incorrect result)
2018-01-09 16:23:38 +08:00
Xinchen Hui 9a2fc39542 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75781 (substr_count incorrect result)
2018-01-09 16:21:13 +08:00
Xinchen Hui 6da44fefb2 Fixed bug #75781 (substr_count incorrect result) 2018-01-09 16:21:02 +08:00
Gabriel Caruso 6400264856 Trailing whitespaces
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-03 14:38:00 +01:00
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui 7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Dmitry Stogov 05cb472a88 Avoid overhead of memory allocation and useless referene-counting in implode() 2017-12-26 13:29:18 +03:00
Dmitry Stogov 83e495e0fd Move constants into read-only data segment 2017-12-14 22:14:36 +03:00
Tom Van Looy e4e26f2428 Remove RAND_RANGE() macro
The behavior of RANGE_RANGE() is 7.1 changed completely, from
rescaling an already generated number to generating a number
itself. Because of this str_shuffle() ended up generating two
random numbers on every iteration.

To avoid further misuse the function is dropped entirely. Extensions
for PHP >= 7.1 should directly call php_mt_rand_range().
2017-12-09 17:24:17 +01:00
Dmitry Stogov 6a9d2b2190 Cleanup type conversion 2017-12-07 19:24:55 +03:00
Anatol Belski 80d6eb6806 Fix unsigned comparisons and remove dead code
Fix unsigned comparison

Cleanup never executed block

Fix unsigned comparison

Fix unsigned comparison, diff can't be < 0

Fix unsigned comparison

Fix unsigned comparison

Remove dead code
2017-11-17 22:38:44 +01:00
Dmitry Stogov b8a4225a5f Reverted incorrect changes to setlocale() 2017-11-16 18:10:28 +03:00
Dmitry Stogov ccc12b82da Avoid unnecessary reference-counting on strings. 2017-11-16 17:09:32 +03:00
Xinchen Hui 6546c516dd Optimized ucfirst(Avoid duping string if possible) 2017-08-06 14:56:16 +08:00
Dmitry Stogov 9c2a1f52a5 Avoid useless dereferences and separations during paramter passing. 2017-06-19 12:55:59 +03:00
Dmitry Stogov 3a4fcee767 trim() micro-optimization 2017-05-30 17:14:08 +03:00
Dmitry Stogov dd4a78b631 Don't separate output arguments 2017-05-23 17:18:05 +03:00
Dmitry Stogov a08723d3d3 Use interned empty and "one char" strings. 2017-05-18 17:59:59 +03:00
Anatol Belski c698299550 Interned strings unification for TS/NTS
Hereby, interned strings are supported in thread safe PHP. The patch
implements two types of interned strings

- interning per process, strings are not freed till process end
- interning per request, strings are freed at request end

There is no runtime interning.

With Opcache, all the permanent iterned strings are copied into SHM on
startup, additional copying into SHM might happen on demand.
2017-03-04 10:39:13 +01:00
Nikita Popov 2634b13e88 Deprecate parse_str() without second argument 2017-02-03 18:52:57 +01:00
Nikita Popov 5537a4e2b8 Merge branch 'PHP-7.1' 2017-02-03 17:55:08 +01:00
Nikita Popov 8660e95b4c Fixed bug #74041 2017-02-03 17:54:39 +01:00
Stanislav Malyshev cbc416e8d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73648 - integer overflow in substr
2017-01-16 12:14:10 -08:00
Stanislav Malyshev 05f2f730e6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73648 - integer overflow in substr
2017-01-16 12:14:03 -08:00