Revision tags: php-7.3.7, php-7.2.20 |
|
#
01e1e199 |
| 01-Jul-2019 |
Nikita Popov |
Clarify #if indentation in time limit implemementation
|
#
ba8033fe |
| 28-Jun-2019 |
Dmitry Stogov |
Fixed use-after-free
|
Revision tags: php-7.4.0alpha2, php-7.3.7RC3 |
|
#
eaafb69e |
| 20-Jun-2019 |
Nikita Popov |
Change indexing scheme for symtable_cache symtable_cache_ptr now points to the first unused symtable_cache entry, rahter than the last used one. This avoids taking a pointer to the m
Change indexing scheme for symtable_cache symtable_cache_ptr now points to the first unused symtable_cache entry, rahter than the last used one. This avoids taking a pointer to the minus first element of the array, which is UB. Instead we take a pointer to the end plus one, which is not UB.
show more ...
|
Revision tags: php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30 |
|
#
61f78de4 |
| 26-May-2019 |
twosee |
Constify some char* arguments or return values of ZEND_API Closes GH-4247.
|
#
8f8fcbbd |
| 27-May-2019 |
Nikita Popov |
Support full variance if autoloading is used Keep track of delayed variance obligations and check them after linking a class is otherwise finished. Obligations may either be unresolv
Support full variance if autoloading is used Keep track of delayed variance obligations and check them after linking a class is otherwise finished. Obligations may either be unresolved method compatibility (because the necessecary classes aren't available yet) or open parent/interface dependencies. The latter occur because we allow the use of not fully linked classes as parents/interfaces now. An important aspect of the implementation is we do not require classes involved in variance checks to be fully linked in order for the class to be fully linked. Because the involved types do have to exist in the class table (as partially linked classes) and we do check these for correct variance, we have the guarantee that either those classes will successfully link lateron or generate an error, but there is no way to actually use them until that point and as such no possibility of violating the variance contract. This is important because it ensures that a class declaration always either errors or will produce an immediately usable class afterwards -- there are no cases where the finalization of the class declaration has to be delayed until a later time, as earlier variants of this patch did. Because variance checks deal with classes in various stages of linking, we need to use a special instanceof implementation that supports this, and also introduce finer-grained flags that tell us which parts have been linked already and which haven't. Class autoloading for variance checks is delayed into a separate stage after the class is otherwise linked and before delayed variance obligations are processed. This separation is needed to handle cases like A extends B extends C, where B is the autoload root, but C is required to check variance. This could end up loading C while the class structure of B is in an inconsistent state.
show more ...
|
#
1df9f238 |
| 31-May-2019 |
Dmitry Stogov |
Better hot/cold code splitting
|
#
e14d7733 |
| 29-May-2019 |
Dmitry Stogov |
Mark "cold" functions
|
#
e6fac86d |
| 24-May-2019 |
Nikita Popov |
Accept flags argument in zend_lookup_class_ex() Instead of a single boolean, so we have space for extension here.
|
#
64918c77 |
| 22-May-2019 |
Nikita Popov |
Forbid use of not fully linked classes
|
#
35353dc4 |
| 15-May-2019 |
Nikita Popov |
Fixed bug #76980 If we perform a class fetch that is not marked as exception safe, convert exceptions thrown by autoloaders into a fatal error. Ideally fetching the interfaces w
Fixed bug #76980 If we perform a class fetch that is not marked as exception safe, convert exceptions thrown by autoloaders into a fatal error. Ideally fetching the interfaces would be exception safe, but as it isn't right now, we must abort at this point.
show more ...
|
Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1 |
|
#
3f7bf35e |
| 15-Apr-2019 |
Dmitry Stogov |
execute_data->return_value is not used for internal functions
|
#
55cc2804 |
| 11-Apr-2019 |
Dmitry Stogov |
Backported call frame initialization improvement
|
#
d087a356 |
| 11-Apr-2019 |
Nikita Popov |
Suppress warnings using zend_quiet_write
|
#
cc900edd |
| 10-Apr-2019 |
Dmitry Stogov |
Simplify call frame initialization
|
#
f53240db |
| 02-Apr-2019 |
Dmitry Stogov |
Use fastcall calling convention
|
#
803d3222 |
| 02-Apr-2019 |
Dmitry Stogov |
Use fastcall calling convention
|
Revision tags: php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7, php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1, php-7.1.18, php-7.2.6 |
|
#
6529d7ac |
| 10-May-2018 |
Joe Watkins |
zend_weakrefs
|
#
4f4cf987 |
| 13-Feb-2019 |
Anatol Belski |
Change the way timer queue timer is deleted As discussed in bug #77580, passing INVALID_HANDLE_VALUE for the completion event improves compatibility with Wine/ReactOS. The timer call
Change the way timer queue timer is deleted As discussed in bug #77580, passing INVALID_HANDLE_VALUE for the completion event improves compatibility with Wine/ReactOS. The timer callback itself is supposed to complete fast enough, no behavior change is to expect.
show more ...
|
#
f45e0ce9 |
| 07-Feb-2019 |
Dmitry Stogov |
Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handler
|
#
92ac598a |
| 22-Jan-2019 |
Peter Kokot |
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
show more ...
|
#
aad39879 |
| 31-Jan-2019 |
Nikita Popov |
Remove bareword fallback for constants Access to undefined constants will now always result in an Error exception being thrown. This required quite a few test changes, because t
Remove bareword fallback for constants Access to undefined constants will now always result in an Error exception being thrown. This required quite a few test changes, because there were many buggy tests that unintentionally used bareword fallback in combination with error suppression.
show more ...
|
#
0dfd918e |
| 30-Jan-2019 |
Nikita Popov |
Remove support for __autoload() There are probably some improvements we can do to the SPL implementation now that __autoload() is gone. In particular having EG(autoload_func) as a pr
Remove support for __autoload() There are probably some improvements we can do to the SPL implementation now that __autoload() is gone. In particular having EG(autoload_func) as a property zend function, rather than a simple callback probably doesn't make sense.
show more ...
|
#
a81202ac |
| 30-Jan-2019 |
Zeev Suraski |
Adios, yearly copyright ranges
|
#
02557f87 |
| 30-Jan-2019 |
Zeev Suraski |
Adios, yearly copyright ranges
|
#
6c73b50c |
| 29-Jan-2019 |
Nikita Popov |
Remove static calls to non-static methods
|