History log of /PHP-7.2/Zend/zend_compile.c (Results 151 – 175 of 2004)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 9f82f21d 06-Feb-2016 Nikita Popov

Fix bug #71529


Revision tags: php-5.6.18, php-7.0.3, php-5.5.32, php-5.6.18RC1, php-7.0.3RC1
# 35662c9b 12-Jan-2016 Nikita Popov

Forbid double use() and use() of param

Also commit a test I forgot to add for forbidden use() of
auto-globals.


# 6579e484 12-Jan-2016 Dmitry Stogov

Introduced BIND_STATIC opcode instead of FETCH_R/FETCH_W(static)+ASSIGN/ASSIGN_REF (similar to BIND_GLOBAL).
In the future we may refer to static variable by index instead of name, to eliminate h

Introduced BIND_STATIC opcode instead of FETCH_R/FETCH_W(static)+ASSIGN/ASSIGN_REF (similar to BIND_GLOBAL).
In the future we may refer to static variable by index instead of name, to eliminate hash lookup.

show more ...


# 16a2b473 07-Jan-2016 Xinchen Hui

Fixed bug #71300 (Segfault in zend_fetch_string_offset)


Revision tags: php-5.6.17, php-5.5.31, php-7.0.2
# 97a9470d 02-Jan-2016 Xinchen Hui

bump year which is missed in rev 49493a2


# 3537e95d 02-Jan-2016 Xinchen Hui

bump year which is missed in rev 49493a2


# 5362f0ad 31-Dec-2015 Derick Rethans

MFH: Fix lineno for finally FAST_CALL and JMP


# b3afeeab 30-Dec-2015 Nikita Popov

Fix lineno for finally FAST_CALL and JMP


# 65e456f3 29-Dec-2015 Nikita Popov

Introduce BIND_LEXICAL

This opcodes inserts a local CV into the closure static variable
table. This replaces the previous mechanism of having static
variables marked as LEXICAL, whic

Introduce BIND_LEXICAL

This opcodes inserts a local CV into the closure static variable
table. This replaces the previous mechanism of having static
variables marked as LEXICAL, which perform a symtable lookup
during copying.

This means a) functions which contain closures no longer have to
rebuild their symtable (better performance) and b) we can now track
used variables in SSA.

show more ...


# 44404368 29-Dec-2015 Nikita Popov

Forbid use() of auto-globals

We don't correctly support it, it doesn't make sense and it's also
forbidden for parameters.


Revision tags: php-7.0.2RC1, php-5.6.17RC1, php-7.0.1RC1, php-7.0.0, php-5.6.16, php-7.0.0RC8, php-7.0.0RC7, php-5.6.16RC1, php-5.6.15, php-7.0.0RC6
# 2a7eeff3 20-Oct-2015 Levi Morrison

Remove mentions of "type hint" and "typehint"


# aa4a83fe 22-Dec-2015 Dmitry Stogov

Fixed bug #71196 (Memory leak with out-of-order live ranges)


# 88eae43f 20-Dec-2015 Nikita Popov

Remove uses of VARs in extended_value

The DECLARE_(ANON_)INHERITED_CLASS(_DELAYED) opcodes were
referencing the parent ce VAR through extended_value. This is
hacky and we can't track

Remove uses of VARs in extended_value

The DECLARE_(ANON_)INHERITED_CLASS(_DELAYED) opcodes were
referencing the parent ce VAR through extended_value. This is
hacky and we can't track the def-use chain in SSA.

To avoid this, the layout of declaration opcodes is changed
as follows: op1 points to the lcname and rtd_key literals, in
that order. (For anon/lambda declarations only one of lcname or
rtd_key is present.) This frees up op2, which is now used to
reference the parent ce VAR in inheriting declarations. The
jmp offset for anon class declarations is moved frop op2 to
extended_value.

The changes were applied both to class and function declarations
to keep everything symmetric.

show more ...


# 42c8f5e9 19-Dec-2015 Andrea Faulds

Fix bug #70804

This follows on from a4648ded430985e019b446939c4ff5bef36c0b91 and
4e01269082d20f5598c481f122b3eea10a586e2b.
Both -(+0.0) and +(-0.0) behaved incorrectly for the same r

Fix bug #70804

This follows on from a4648ded430985e019b446939c4ff5bef36c0b91 and
4e01269082d20f5598c481f122b3eea10a586e2b.
Both -(+0.0) and +(-0.0) behaved incorrectly for the same reason.

show more ...


# a4648ded 17-Dec-2015 Andrea Faulds

Fix bug #52355


# 56f11061 14-Dec-2015 Nikita Popov

Use FETCH_CLASS_EXCEPTION for instanceof

This does not collide with NO_AUTOLOAD -- missing classes will be
silenced, but invalid use of self etc will result in an exception
instead o

Use FETCH_CLASS_EXCEPTION for instanceof

This does not collide with NO_AUTOLOAD -- missing classes will be
silenced, but invalid use of self etc will result in an exception
instead of a fatal error.

show more ...


# 09191789 14-Dec-2015 Nikita Popov

Add result op for ASSERT_CHECK to fix SSA

Otherwise one source of the phi node at the join point will be
borked.

I'm marking the ASSERT_CHECK result as unused in pass2, which is

Add result op for ASSERT_CHECK to fix SSA

Otherwise one source of the phi node at the join point will be
borked.

I'm marking the ASSERT_CHECK result as unused in pass2, which is
a bit ugly.

show more ...


# 778e5f3d 11-Dec-2015 Xinchen Hui

Fixed bug #71092 (Segmentation fault with return type hinting)


# 591fe26d 11-Dec-2015 Nikita Popov

Remove BP_VAR_REF

The distinction between BP_VAR_REF and BP_VAR_W is no longer
revelant, since we dropped support for =& new.


# 04e3d82b 10-Dec-2015 Nikita Popov

Make duplicate class constant error for internal class

And drop two duplicate constant declarations from intl. These
were leaking previously.


# 8e5e3301 10-Dec-2015 Nikita Popov

Make ZEND_CLONE return a TMP_VAR

As the return value can't be reference and it's unlikely to be
unused.

Also remove some unnecessary checks for ce==NULL. A ce is required
no

Make ZEND_CLONE return a TMP_VAR

As the return value can't be reference and it's unlikely to be
unused.

Also remove some unnecessary checks for ce==NULL. A ce is required
nowadays.

show more ...


# f1278ede 10-Dec-2015 Nikita Popov

Drop two compiler TODOs

Call-time pass by reference is now a parse error.
There is no benefit in dropping implementing_class currently.


# c8a64e28 10-Dec-2015 Nikita Popov

Reintroduce use of FETCH_GLOBAL_LOCK

Just found this old AST todo...

It no longer makes sense as an optimization due to the introduction
of BIND_GLOBAL, however it ensures that

Reintroduce use of FETCH_GLOBAL_LOCK

Just found this old AST todo...

It no longer makes sense as an optimization due to the introduction
of BIND_GLOBAL, however it ensures that the global variable name is
not evaluated twice, which is presumably something we wish to
guarantee.

show more ...


# 3fa86105 10-Dec-2015 Nikita Popov

Remove FETCH_STATIC_MEMBER flag


# 37f34252 10-Dec-2015 Nikita Popov

Fix Foo::${42} and similar

Fixes segfault on direct use, segfault on opcache evaluated use,
leak on temporary use.

Fixes analogeous segfault for ${42} on opcache eval as well.


12345678910>>...81