History log of /PHP-7.4/Zend/zend_compile.c (Results 76 – 100 of 2214)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


12345678910>>...89