#
52605aaf |
| 22-Feb-2019 |
Nikita Popov |
Fix anon class handling in ext mode Opcode order changes in 7.4 and the EXT_STMT is now declare the DECLARE_ANON. Fix this by returning the opline from compile_class_decl to avoid an
Fix anon class handling in ext mode Opcode order changes in 7.4 and the EXT_STMT is now declare the DECLARE_ANON. Fix this by returning the opline from compile_class_decl to avoid any fragile opcode searching.
show more ...
|
#
53881438 |
| 22-Feb-2019 |
Nikita Popov |
Fixed bug #77652
|
#
4d341563 |
| 21-Feb-2019 |
Joe Watkins |
While the compiler does not have the FBC set for zend_get_call_op, optimizer does, and so incorrectly results in ignoring these flags. If someone has a better patch, please merge it ASAP, th
While the compiler does not have the FBC set for zend_get_call_op, optimizer does, and so incorrectly results in ignoring these flags. If someone has a better patch, please merge it ASAP, this appears to be correct as I and Nikita originally thought. Revert "Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags"" This reverts commit 0bbbd0f9e7449a2f204f959d06e5266175a86be9.
show more ...
|
#
0bbbd0f9 |
| 21-Feb-2019 |
Joe Watkins |
Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags"
Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags" This reverts commit 46807ec5da23d399873d9a1fcf4b73b7a783d23b.
show more ...
|
#
46807ec5 |
| 21-Feb-2019 |
Joe Watkins |
zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags
|
#
a3994a9e |
| 19-Feb-2019 |
Joe Watkins |
begin handlers are currently invoked without access to the arguments being sent, this moves the opcode after SEND
|
#
f8cd8eb7 |
| 19-Feb-2019 |
Joe Watkins |
ZEND_COMPILE_EXTENDED_INFO split Currently a tool may not decide between debugging and profiling behaviour: We split ZEND_COMPILE_EXTENDED_INFO into ZEND_COMPILE_EXTENDED_FCALL and ZEND_COMPILE_EXTEN
ZEND_COMPILE_EXTENDED_INFO split Currently a tool may not decide between debugging and profiling behaviour: We split ZEND_COMPILE_EXTENDED_INFO into ZEND_COMPILE_EXTENDED_FCALL and ZEND_COMPILE_EXTENDED_STMT We define ZEND_COMPILE_EXTENDED_INFO as ZEND_COMPILE_EXTENDED_STMT|ZEND_COMPILE_EXTENDED_FCALL
show more ...
|
#
da3316ff |
| 18-Feb-2019 |
Tyson Andre |
Fix typos in code comments in Zend/ [skip ci]
|
#
d6a53ed5 |
| 15-Feb-2019 |
rjhdby |
Unify clone method error message
|
#
3cafa7f4 |
| 15-Feb-2019 |
Nikita Popov |
Assign (un)serialize_func during compilation This avoids writing this cache at runtime, which is illegal if preloading is used. Not every serialize/unserialize function actually
Assign (un)serialize_func during compilation This avoids writing this cache at runtime, which is illegal if preloading is used. Not every serialize/unserialize function actually belongs to the Serializable interface, but I think it's not a problem to assign these anyway -- whether they are used ultimately depends on whether Serializable is implemented. Alternatively it might make sense to just drop these entirely. I don't think this is performance critical functionality.
show more ...
|
#
43a7d950 |
| 14-Feb-2019 |
Dmitry Stogov |
Fixed bug #77613 (method visibility change) (reverted ZEND_ACC_CTOR and ZEND_ACC_DTOR flags removal)
|
#
93641539 |
| 12-Feb-2019 |
Nikita Popov |
Fixed bug #76430 It's somewhat ambiguous what exactly the correct behavior is supposed to be, I'm just picking something more or less reasonable here.
|
#
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
|
#
34898e97 |
| 29-Jan-2019 |
Nikita Popov |
Make special assert() handling independent of compiler flags
|
#
ef68cd32 |
| 28-Jan-2019 |
ekinhbayar |
Fixed bug #77530: PHP crashes when parsing "(2)::class"
|
#
b93aefc1 |
| 27-Jan-2019 |
Nikita Popov |
Fix assign to self detection
|
#
3a0fc004 |
| 26-Jan-2019 |
rjhdby |
zend_compile.c: zend_is_variable(). Removed unnecessary checks. Naming according to internal logic.
|
#
526344aa |
| 24-Jan-2019 |
Nikita Popov |
Add flag to disable jumptable optimization This is useful for coverage. While it is currently safe to just skip over the SWITCH_* opcodes, this may not be true in the future due to o
Add flag to disable jumptable optimization This is useful for coverage. While it is currently safe to just skip over the SWITCH_* opcodes, this may not be true in the future due to opcache optimizations, so it's safer to disable emission of SWITCH_* opcodes entirely.
show more ...
|
#
a50198d0 |
| 15-Jan-2019 |
Nikita Popov |
Implement ??= operator RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator $a ??= $b is $a ?? ($a = $b), with the difference that $a is only evaluated once, to the degree
Implement ??= operator RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator $a ??= $b is $a ?? ($a = $b), with the difference that $a is only evaluated once, to the degree that this is possible. In particular in $a[foo()] ?? $b function foo() is only ever called once. However, the variable access themselves will be reevaluated.
show more ...
|
#
960f922e |
| 21-Jan-2019 |
Dmitry Stogov |
Fixed odd ROPE_ADD instruction placement.
|
#
3269e884 |
| 17-Jan-2019 |
Nikita Popov |
Implement single-pass live range calculation Instead of interleaving creation of live-ranges with the main compiler code, compute them in a separate pass over the opcodes as part of
Implement single-pass live range calculation Instead of interleaving creation of live-ranges with the main compiler code, compute them in a separate pass over the opcodes as part of pass_two. Additionally, do not keep live ranges synchronized during optimization in opcache and instead use the same mechanism to recompute them after optimization.
show more ...
|
#
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 ...
|
#
9ca217f5 |
| 04-Jan-2019 |
Nikita Popov |
Resolve parent::class at compile-time if possible And remove some dead code.
|
#
a9e66678 |
| 04-Jan-2019 |
Nikita Popov |
Detect invalid uses of parent:: during compilation We already detect the case where we're entirely outside a class -- now also check whether there actually is a parent. This is
Detect invalid uses of parent:: during compilation We already detect the case where we're entirely outside a class -- now also check whether there actually is a parent. This is a minor BC break, in that code that was never executed might have previously contained an invalid parent:: reference without generating an error.
show more ...
|