]>
granicus.if.org Git - php/log
Dmitry Stogov [Tue, 16 Jan 2018 07:34:15 +0000 (10:34 +0300)]
Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
Added missed header file
Added ZEND_API zend_cpu_supports
Dmitry Stogov [Tue, 16 Jan 2018 07:33:41 +0000 (10:33 +0300)]
Use fastcall calling convention
Xinchen Hui [Tue, 16 Jan 2018 06:56:43 +0000 (14:56 +0800)]
Added missed header file
Xinchen Hui [Tue, 16 Jan 2018 06:54:05 +0000 (14:54 +0800)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Removed recursive call
Put ZEND_FASTCALL into the proper place.
Xinchen Hui [Tue, 16 Jan 2018 06:44:06 +0000 (14:44 +0800)]
Added ZEND_API zend_cpu_supports
Dmitry Stogov [Tue, 16 Jan 2018 06:44:49 +0000 (09:44 +0300)]
Removed recursive call
Dmitry Stogov [Tue, 16 Jan 2018 06:44:10 +0000 (09:44 +0300)]
Put ZEND_FASTCALL into the proper place.
Dmitry Stogov [Mon, 15 Jan 2018 21:57:47 +0000 (00:57 +0300)]
Optimize zval_dtor_func()
Anatol Belski [Mon, 15 Jan 2018 16:49:46 +0000 (17:49 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
[ci skip] Update NEWS
[ci skip] Update NEWS
Anatol Belski [Mon, 15 Jan 2018 16:48:08 +0000 (17:48 +0100)]
[ci skip] Update NEWS
Anatol Belski [Mon, 15 Jan 2018 16:47:29 +0000 (17:47 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
[ci skip] Update NEWS
Anatol Belski [Mon, 15 Jan 2018 16:46:34 +0000 (17:46 +0100)]
[ci skip] Update NEWS
Dmitry Stogov [Mon, 15 Jan 2018 14:37:15 +0000 (17:37 +0300)]
Added missing #if to allow compilation withput ZEND_MM_CUSTOM
Dmitry Stogov [Mon, 15 Jan 2018 14:36:35 +0000 (17:36 +0300)]
Manual CSE
Xinchen Hui [Mon, 15 Jan 2018 13:39:25 +0000 (21:39 +0800)]
Added missed PHPAPI
Xinchen Hui [Mon, 15 Jan 2018 13:34:03 +0000 (21:34 +0800)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Allow pecl like usage in ext/phar, closes #2955
Xinchen Hui [Mon, 15 Jan 2018 13:30:56 +0000 (21:30 +0800)]
Restore change committed by accident
Anatol Belski [Mon, 15 Jan 2018 13:26:22 +0000 (14:26 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Allow pecl like usage in ext/phar, closes #2955
Anatol Belski [Mon, 15 Jan 2018 13:25:45 +0000 (14:25 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Allow pecl like usage in ext/phar, closes #2955
Anatol Belski [Mon, 15 Jan 2018 13:23:46 +0000 (14:23 +0100)]
Allow pecl like usage in ext/phar, closes #2955
Xinchen Hui [Mon, 15 Jan 2018 13:01:27 +0000 (21:01 +0800)]
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.
motecshine [Sun, 14 Jan 2018 09:06:55 +0000 (17:06 +0800)]
Remove double include of fpm_scoreboard.h
Bishop Bettini [Mon, 8 Jan 2018 01:58:02 +0000 (20:58 -0500)]
Add test for bug #66960
Nikita Popov [Mon, 15 Jan 2018 11:16:16 +0000 (12:16 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Mon, 15 Jan 2018 11:16:00 +0000 (12:16 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Mon, 15 Jan 2018 11:13:55 +0000 (12:13 +0100)]
Fixed bug #75079
Anatol Belski [Sun, 14 Jan 2018 15:43:21 +0000 (16:43 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Sync for upcoming vc++ 15.6 version raise
Anatol Belski [Sun, 14 Jan 2018 15:42:17 +0000 (16:42 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Sync for upcoming vc++ 15.6 version raise
Anatol Belski [Sun, 14 Jan 2018 15:38:36 +0000 (16:38 +0100)]
Sync for upcoming vc++ 15.6 version raise
Anatol Belski [Sat, 13 Jan 2018 13:51:34 +0000 (14:51 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
[ci skip] Update NEWS
[ci skip] Update NEWS
Anatol Belski [Sat, 13 Jan 2018 13:50:58 +0000 (14:50 +0100)]
[ci skip] Update NEWS
Anatol Belski [Sat, 13 Jan 2018 13:50:00 +0000 (14:50 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
[ci skip] Update NEWS
Anatol Belski [Sat, 13 Jan 2018 13:48:48 +0000 (14:48 +0100)]
[ci skip] Update NEWS
Anatol Belski [Sat, 13 Jan 2018 11:33:45 +0000 (12:33 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Fix invalid free
Anatol Belski [Sat, 13 Jan 2018 11:33:02 +0000 (12:33 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix invalid free
Anatol Belski [Sat, 13 Jan 2018 11:32:00 +0000 (12:32 +0100)]
Fix invalid free
Nikita Popov [Sat, 13 Jan 2018 10:06:58 +0000 (11:06 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Sat, 13 Jan 2018 10:06:46 +0000 (11:06 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Sat, 13 Jan 2018 10:04:26 +0000 (11:04 +0100)]
Fix generator GC if yield from parent chain does not reach root
Parents may be unlinked while another generator sharing part of the
chain is running. As such, we cannot assume that the parent chain
goes all the way to the root. Instead walk backwards from root to
leaf, like we also do during destruction.
Nikita Popov [Fri, 12 Jan 2018 21:51:29 +0000 (22:51 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Fri, 12 Jan 2018 21:51:20 +0000 (22:51 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Fri, 12 Jan 2018 21:48:29 +0000 (22:48 +0100)]
Try to fix yield from GC issues
Make sure we always update root and parent references before
releasing the old root object.
This fixes some crashes under aggressive cycle collection, so
hopefully this will also fix bug #75351.
Nikita Popov [Fri, 12 Jan 2018 20:28:31 +0000 (21:28 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Fri, 12 Jan 2018 20:28:10 +0000 (21:28 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Fri, 12 Jan 2018 20:24:04 +0000 (21:24 +0100)]
Fixed bug #75396
Do not run finally blocks in generators on unclean shutdown (e.g.
caused by exit). This is consistent with how finally blocks outside
of generators behave.
Nikita Popov [Tue, 9 Jan 2018 20:49:16 +0000 (21:49 +0100)]
Simplify non-linear generator yield from tree
Remove special handling for 2-4 children. Now the three possible
cases are no children, one child, or many children (HT).
The non-linear (many children) case is extremely rare, so there is
no point in trying to optimize it.
Anatol Belski [Fri, 12 Jan 2018 18:12:54 +0000 (19:12 +0100)]
[ci skip] Fix typos
timurib [Sat, 6 Jan 2018 20:04:45 +0000 (23:04 +0300)]
Fix #75765 Exception on extend of undefined class
As the parent class is fetched prior to binding, there are no
safety concerns in this case and we can replace the fatal error
with an Error exception.
Nikita Popov [Sun, 31 Dec 2017 11:32:29 +0000 (12:32 +0100)]
Don't directly access refcount in interbase
Nikita Popov [Fri, 12 Jan 2018 17:37:47 +0000 (18:37 +0100)]
Avoid duplicate addition of generators in yield from tree
Nikita Popov [Fri, 12 Jan 2018 17:30:34 +0000 (18:30 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Fri, 12 Jan 2018 17:30:22 +0000 (18:30 +0100)]
Fixed bug #75653
Nikita Popov [Fri, 12 Jan 2018 17:18:45 +0000 (18:18 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Fri, 12 Jan 2018 17:18:34 +0000 (18:18 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Fri, 12 Jan 2018 17:11:12 +0000 (18:11 +0100)]
Revert "Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function)"
This reverts commit
816758eda2bcdd69ba505fb6bbb79124a7bf2254 .
After this commit relative router scripts were resolved against
docroot rather than shell cwd.
Anatol Belski [Fri, 12 Jan 2018 16:14:46 +0000 (17:14 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Fixed bug #75774 imap_append HeapCorruction
Anatol Belski [Fri, 12 Jan 2018 16:14:19 +0000 (17:14 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fixed bug #75774 imap_append HeapCorruction
Anatol Belski [Fri, 12 Jan 2018 16:13:18 +0000 (17:13 +0100)]
Fixed bug #75774 imap_append HeapCorruction
Anatol Belski [Fri, 12 Jan 2018 11:22:35 +0000 (12:22 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Unify EOL
Extend test, latest cURL ships also with smb and smbs
Anatol Belski [Fri, 12 Jan 2018 11:21:43 +0000 (12:21 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Unify EOL
Extend test, latest cURL ships also with smb and smbs
Anatol Belski [Fri, 12 Jan 2018 11:20:31 +0000 (12:20 +0100)]
Unify EOL
Anatol Belski [Fri, 12 Jan 2018 11:17:23 +0000 (12:17 +0100)]
Extend test, latest cURL ships also with smb and smbs
Dmitry Stogov [Fri, 12 Jan 2018 09:05:18 +0000 (12:05 +0300)]
Cleanup (at persistence stage we may get only "user" functions; regular op_arrays can't be referenced from different places)
Anatol Belski [Fri, 12 Jan 2018 07:05:07 +0000 (08:05 +0100)]
Add missing clean sections
Anatol Belski [Fri, 12 Jan 2018 06:43:40 +0000 (07:43 +0100)]
[ci skip] Update UPGRADING
Dmitry Stogov [Thu, 11 Jan 2018 19:15:45 +0000 (22:15 +0300)]
Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse. (reapply
781e1573afdc7c336b3577ceabc9c65cafea17e8 , now it should be OK).
Dmitry Stogov [Thu, 11 Jan 2018 18:23:52 +0000 (21:23 +0300)]
Improve Closure::call(). Eliminate zend_fcall_info_init() call and reset ZEND_ACC_CLOSURE flag.
Dmitry Stogov [Thu, 11 Jan 2018 16:50:27 +0000 (19:50 +0300)]
Reorder zend_op_array fields for better data locality and packing
Dmitry Stogov [Thu, 11 Jan 2018 16:15:52 +0000 (19:15 +0300)]
Get rid of zend_op_array.early_binding
Dmitry Stogov [Thu, 11 Jan 2018 14:27:26 +0000 (17:27 +0300)]
Revert "Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong)
This reverts commit
781e1573afdc7c336b3577ceabc9c65cafea17e8 .
Anatol Belski [Thu, 11 Jan 2018 13:34:28 +0000 (14:34 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Fix test for libtidy 5.6.0
Anatol Belski [Thu, 11 Jan 2018 13:33:59 +0000 (14:33 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix test for libtidy 5.6.0
Anatol Belski [Thu, 11 Jan 2018 13:28:09 +0000 (14:28 +0100)]
Fix test for libtidy 5.6.0
libtidy 5.6.0 remove the language option from the library, it is only
supported on cli. Prior to that, this option was not used in the
library. Thus, exclude the option presence from test.
Dmitry Stogov [Thu, 11 Jan 2018 13:25:28 +0000 (16:25 +0300)]
Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse.
Christoph M. Becker [Thu, 11 Jan 2018 12:14:37 +0000 (13:14 +0100)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Fixed bug #75799 (arg of get_defined_functions is optional)
Christoph M. Becker [Thu, 11 Jan 2018 12:12:19 +0000 (13:12 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fixed bug #75799 (arg of get_defined_functions is optional)
Gabriel Caruso [Wed, 10 Jan 2018 21:49:13 +0000 (19:49 -0200)]
Fixed bug #75799 (arg of get_defined_functions is optional)
Anatol Belski [Thu, 11 Jan 2018 11:40:01 +0000 (12:40 +0100)]
Revert "Add possibility to lower timer resolution"
This reverts commit
c3717d9aecbe65cb2e5778a24a91e9eaf638639e .
The final mitigation of the consequences with spectre should be
discussed more also with the regard to the happenings on the
developments. Right now a preliminary mitigation might be wrong or
suboptimal, thus reverting this.
Dmitry Stogov [Thu, 11 Jan 2018 09:15:34 +0000 (12:15 +0300)]
Avoid, most offten unnecessary, memory load.
Anatol Belski [Wed, 10 Jan 2018 16:50:09 +0000 (17:50 +0100)]
Add possibility to lower timer resolution
The recently discovered security flaw Spectre requires a high resolution
timer. To the today's knowledge, PHP can't be used to create an attack for
this flaw. Still some concerns were raised, that there might be impact in
shared hosting environments. This patch adds a possibility to reduce the
timer resolution by an ini setting, thus giving administrators full
control. Especially, as the flaw was also demonstrated by an abuse of
the JS engine in a browser, Firefox reduced several time sources to 20us.
Any programming language, that doesn't compile to JIT, won't be able to
produce an attack vector for Meltdown and Spectre, at least by todays
knowledge. There are also other factors that say that the security
concern on the hrtime feature is to the big part not justified, still we
aim JIT in the future. Thus, adding a possibility to control the timer
resolution is a good and small enough tradeoff for safety and future.
Dmitry Stogov [Wed, 10 Jan 2018 16:14:52 +0000 (19:14 +0300)]
Mark FETCH_OBJ_R and INIT_METHOD_CALL as HOT_OBJ for (UNUSED+CONST and CV+CONST)
Dmitry Stogov [Wed, 10 Jan 2018 16:00:38 +0000 (19:00 +0300)]
Added abiliy to mark object specific handlers with most often used operand types as HOT. (UNUSED+CONST and CV+CONST)
Dmitry Stogov [Wed, 10 Jan 2018 12:12:03 +0000 (15:12 +0300)]
Convert "sparse switch" statements into sequences of "if" with the most probable conditions first
Dmitry Stogov [Wed, 10 Jan 2018 11:23:43 +0000 (14:23 +0300)]
Strength reduction
Dmitry Stogov [Wed, 10 Jan 2018 11:11:23 +0000 (14:11 +0300)]
Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
minor optimize on strstr
Xinchen Hui [Wed, 10 Jan 2018 10:24:03 +0000 (18:24 +0800)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
cleanup
Xinchen Hui [Wed, 10 Jan 2018 10:22:59 +0000 (18:22 +0800)]
minor optimize on strstr
Dmitry Stogov [Wed, 10 Jan 2018 09:37:13 +0000 (12:37 +0300)]
Added expectation
Dmitry Stogov [Wed, 10 Jan 2018 09:03:04 +0000 (12:03 +0300)]
cleanup
Dmitry Stogov [Wed, 10 Jan 2018 07:15:55 +0000 (10:15 +0300)]
Remove HashTable holes in functions and class tables.
Dmitry Stogov [Tue, 9 Jan 2018 23:22:07 +0000 (02:22 +0300)]
Fixed whitespaces
Dmitry Stogov [Tue, 9 Jan 2018 20:17:10 +0000 (23:17 +0300)]
Removed unused array
Nikita Popov [Tue, 9 Jan 2018 19:25:19 +0000 (20:25 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Tue, 9 Jan 2018 19:24:25 +0000 (20:24 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Tue, 9 Jan 2018 19:20:31 +0000 (20:20 +0100)]
Fixed bug #75786
SEND_UNPACK on iterators was duplicating references in-place,
which effectively leaks the original value and causes an off-by-one
refcount on the duplicated value.
Replace this with a deref, as an actual duplication is not even
needed in this case.
Nikita Popov [Tue, 9 Jan 2018 17:44:44 +0000 (18:44 +0100)]
Merge branch 'PHP-7.2'
Nikita Popov [Tue, 9 Jan 2018 17:44:20 +0000 (18:44 +0100)]
Merge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Sat, 16 Dec 2017 20:11:40 +0000 (21:11 +0100)]
Backport narrowing fix to 7.1
This is a cherry-pick of
8a4532319dfae83ff16b2d2bbfeed062924c3c27 .
Dmitry Stogov [Tue, 9 Jan 2018 12:08:18 +0000 (15:08 +0300)]
Allow commas in specializer conditions
Xinchen Hui [Tue, 9 Jan 2018 08:23:38 +0000 (16:23 +0800)]
Merge branch 'PHP-7.2'
* PHP-7.2:
Update NEWS
Fixed bug #75781 (substr_count incorrect result)