#
8c2d5596 |
| 11-Feb-2016 |
Dmitry Stogov |
Combine conditions
|
#
5faedf5b |
| 05-Feb-2016 |
Nikita Popov |
Remove EXT_TYPE_UNUSED in favor of IS_UNUSED This means we no longer allocate an unused VAR for the retval of instructions that support unused results. Nearly all instructions a
Remove EXT_TYPE_UNUSED in favor of IS_UNUSED This means we no longer allocate an unused VAR for the retval of instructions that support unused results. Nearly all instructions already used the result variable only if it was used. The only exception to this was the return value variable for internal function call results. I've adjusted the code to use a stack zval for the unused return case now. As we have retval specialization now, we know that it doesn't matter.
show more ...
|
#
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 ...
|