Commit graph

1308 commits

Author SHA1 Message Date
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
Stanislav Malyshev
d1d002fc4d Fix bug #73648 - integer overflow in substr 2017-01-16 12:11:50 -08:00
Joe Watkins
7fd318bc4c
Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72979 money_format stores wrong length on AIX
2017-01-09 05:33:48 +00:00
Joe Watkins
bf6eb65673
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #72979 money_format stores wrong length on AIX
2017-01-09 05:32:50 +00:00
Joe Watkins
8dd523a216
Fixed bug #72979 money_format stores wrong length on AIX 2017-01-09 05:31:41 +00:00
Sammy Kaye Powers
dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Sara Golemon
a23f08a33c Use new param API in standard 2016-12-30 17:28:55 -08:00
Sara Golemon
331dcf08df Use new param API in standard/string 2016-12-30 16:40:45 -08:00