#
3280209c |
| 11-Dec-2019 |
Dmitry Stogov |
Addirional fix for bug #78918
|
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1 |
|
#
944c1cf0 |
| 01-Nov-2019 |
Nikita Popov |
Fixed bug #78768 Remove the typedef from zend_types.h, use explicit struct prefix instead.
|
Revision tags: php-7.4.0RC5 |
|
#
f1848a4b |
| 24-Oct-2019 |
Nikita Popov |
Fix bug #78226: Don't call __set() on uninitialized typed properties Assigning to an uninitialized typed property will no longer trigger a call to __set(). However, calls to __set() are
Fix bug #78226: Don't call __set() on uninitialized typed properties Assigning to an uninitialized typed property will no longer trigger a call to __set(). However, calls to __set() are still triggered if the property is explicitly unset(). This gives us both the behavior people generally expect, and still allows ORMs to do lazy initialization by unsetting properties. For PHP 8, we should fine a way to forbid unsetting of declared properties entirely, and provide a different way to achieve lazy initialization.
show more ...
|
Revision tags: php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1 |
|
#
7bd2b9d2 |
| 13-Aug-2019 |
Nikita Popov |
Generalize delref assertion The refcount should never become negative, not just during GC.
|
Revision tags: php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1 |
|
#
d57d74b2 |
| 10-Jul-2019 |
Dmitry Stogov |
Reduce cost for references to strings and resources
|
Revision tags: php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, 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, 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 |
|
#
55cc2804 |
| 11-Apr-2019 |
Dmitry Stogov |
Backported call frame initialization improvement
|
Revision tags: php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1 |
|
#
2b9acd37 |
| 18-Mar-2019 |
Nikita Popov |
Fixed bug #72685 We currently have a large performance problem when implementing lexers working on UTF-8 strings in PHP. This kind of code tends to perform a large number of matches
Fixed bug #72685 We currently have a large performance problem when implementing lexers working on UTF-8 strings in PHP. This kind of code tends to perform a large number of matches at different offsets on a single string. This is generally fast. However, if /u mode is used, the full string will be UTF-8 validated on each match. This results in quadratic runtime. This patch fixes the issue by adding a IS_STR_VALID_UTF8 flag, which is set when we have determined that the string is valid UTF8 and further validation is skipped. A limitation of this approach is that we can't set the flag for interned strings. I think this is not a problem for this use-case which will generally work on dynamic data. If we want to use this flag for other purposes as well (mbstring?) then it might be worthwhile to UTF-8 validate strings during interning. But right now this doesn't seem useful.
show more ...
|
Revision tags: 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
|
#
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 ...
|
#
a81202ac |
| 30-Jan-2019 |
Zeev Suraski |
Adios, yearly copyright ranges
|
#
e219ec14 |
| 07-Jan-2019 |
Nikita Popov |
Implement typed properties RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwe
Implement typed properties RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwei9@hotmail.com> Co-authored-by: Joe Watkins <krakjoe@php.net> Co-authored-by: Dmitry Stogov <dmitry@zend.com>
show more ...
|
#
dee5a450 |
| 15-Nov-2018 |
Nikita Popov |
Fixed bug #77165 Also add some helper macros for PROTECT/UNPROTECT that check for IMMUTABLE. These checks are needed for nearly any use of PROTECT/UNPROTECT.
|
#
9afce019 |
| 01-Nov-2018 |
Zeev Suraski |
Future-proof email addresses
|
#
54dc07f3 |
| 01-Nov-2018 |
Zeev Suraski |
Update email addresses. We're still @Zend, but future proofing it...
|
#
7ec8087f |
| 04-Oct-2018 |
Nikita Popov |
Introduce get_properties_for() handler This handler allows getting the object properties for a particular purpose, such as array casting, serialization, etc.
|
#
f48ee1ff |
| 04-Oct-2018 |
Nikita Popov |
Clarify that the get_properties handler is required Some places were checking for non-null get_properties, some weren't. Make it clear that the handler is required and such checks are no
Clarify that the get_properties handler is required Some places were checking for non-null get_properties, some weren't. Make it clear that the handler is required and such checks are not necessary.
show more ...
|
#
c5231ad3 |
| 30-Aug-2018 |
Christoph M. Becker |
Fix #76820: Z_COPYABLE invalid definition We remove the extraneous parenthesis.
|
#
ab8094c6 |
| 26-Jul-2018 |
Dmitry Stogov |
Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value.
|
#
8d3f8ca1 |
| 03-Jul-2018 |
Peter Kokot |
Remove unused Git attributes ident The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last use
Remove unused Git attributes ident The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
show more ...
|
#
14db9882 |
| 11-Jul-2018 |
Anatol Belski |
Fix build with ZEND_RC_DEBUG
|
#
2543e61a |
| 22-Jun-2018 |
Nikita Popov |
Fixed bug #76509 In PHP static properties are shared between inheriting classes, unless they are explicitly overwritten. However, because this functionality was implemented using ref
Fixed bug #76509 In PHP static properties are shared between inheriting classes, unless they are explicitly overwritten. However, because this functionality was implemented using reference, it was possible to break the implementation by reassigning the static property reference. This is fixed by switching the implementation from using references to using INDIRECTs, which cannot be affected by userland code.
show more ...
|
#
61d00a6c |
| 14-Jun-2018 |
Nikita Popov |
Use COPY_DEREF instead of COPY_UNREF This fixes the behavior when the storage location of the fetch is modified before the operand is dereferenced by the using VM opcode. Furthe
Use COPY_DEREF instead of COPY_UNREF This fixes the behavior when the storage location of the fetch is modified before the operand is dereferenced by the using VM opcode. Furthermore it elimiates references as a possible return value from *_R opcodes, which will give us more opportunities for inferences, in particular in regard to typed properties.
show more ...
|
#
d0fc6dba |
| 09-Jun-2018 |
Tyson Andre |
Fix the Z_IMMUTABLE macro - '(' was mismatched The macro properly has two matching `(` and `)` symbols after this change. This typo was causing syntax errors when compiling exte
Fix the Z_IMMUTABLE macro - '(' was mismatched The macro properly has two matching `(` and `)` symbols after this change. This typo was causing syntax errors when compiling extensions using the (deprecated) macro. This fixes a bug in the PHP 7.3 branch introduced by 742d5a01ed5bd39a18929c04a5f5c5596a4b005b
show more ...
|
#
683123fa |
| 30-May-2018 |
Dmitry Stogov |
Use SSE2 instruction to reset HashTable
|
Revision tags: php-7.2.6RC1, php-7.1.18RC1 |
|
#
34ed8e53 |
| 03-May-2018 |
Dmitry Stogov |
Changed worst HashTable load factor from 1.0 to 0.5
|