1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 23:48:14 +02:00
Commit Graph

33 Commits

Author SHA1 Message Date
Nikita Popov 41a86a72c4 Clean up a few more places 2020-03-17 15:23:52 +01:00
Nikita Popov 3723985058 Merge EX variants of INFO macros 2020-03-16 13:02:16 +01:00
Nikita Popov 4f5f72c7af Remove ZEND_ACC_INHERITED flag
It is equivalent to checking ce->parent != NULL. Just adds more
state that needs to be kept in sync.
2020-02-06 10:42:25 +01:00
Máté Kocsis afdaa91170 Fix #78880: Final spelling fixes 2020-01-16 19:14:31 +01:00
Dmitry Stogov 2068ce9adf Use RT_CONSTANT() or CT_CONSTANT() macro depending on ZEND_ACC_DONE_PASS_TWO flag 2019-10-11 12:54:07 +03:00
Dmitry Stogov 48ca5a1e17 Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP 2019-07-05 12:03:25 +03:00
蝦米 e4ed2bf922 fix typo 2019-04-30 09:18:17 +02:00
Nikita Popov 49ce7c0014 Remove odd variable assignment in escape_analysis
As we are breaking out of the for loop setting i = ssa_vars_count
doesn't do anything, but it confuses GCC into throwing a no-overflow
assumption warning.
2019-04-12 11:56:37 +02:00
Dmitry Stogov da919a8b65 Remove copyright years. 2019-02-05 10:33:28 +03:00
Peter Kokot 92ac598aab 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.
2019-02-03 21:03:00 +01:00
Nikita Popov e219ec144e 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>
2019-01-11 15:49:06 +01:00
Zeev Suraski 67e0138c0d Future-proof email addresses... 2018-11-01 18:30:28 +02:00
Nikita Popov 38bee72e40 Fix DCE of throwing NEWs 2018-02-17 14:51:11 +01:00
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Dmitry Stogov e70618aff6 Changed the way VM accesses constant operands in 64-bit builds. 2017-10-04 16:53:01 +03:00
Dmitry Stogov ccf74422a9 Structures comming from "unknown sources" should be marked as escaping. 2017-09-14 12:33:52 +03:00
Dmitry Stogov ad68c6745f Avoid redundand iterations, checks and reloads 2017-09-14 11:25:03 +03:00
Dmitry Stogov 80abd81344 Fixed escape analysis for ASSIGN_DIM/ASSIGN_OBJ opcodes and improved DCE 2017-09-14 11:03:47 +03:00
Dmitry Stogov a68f50f201 typo 2017-09-14 09:58:22 +03:00
Dmitry Stogov 8e2842c306 Revert "Mark incorrectly used arrays and objects as escaping"
This reverts commit 9b2d3cce19.
2017-09-14 00:08:43 +03:00
Dmitry Stogov 93af905071 Improved reference dependencies analysis 2017-09-13 18:18:51 +03:00
Dmitry Stogov 9b2d3cce19 Mark incorrectly used arrays and objects as escaping 2017-09-13 16:42:48 +03:00
Dmitry Stogov 86dd321c0c Fixed yet another object aliasing problem 2017-09-11 23:19:03 +03:00
Dmitry Stogov 63b93b4a74 Fixed copy semantics in escape analysis 2017-09-11 20:59:40 +03:00
Dmitry Stogov d5c527c9db Fixed SCCP failure, because of aliased objects.
For now, mark aliased objects as "escaping".
A more clever solution would requitre Heap Array SSA + Definitely Same and Definitely Different sets construction.
2017-09-11 16:23:17 +03:00
Dmitry Stogov 2c61e5dc38 Objects with constructors escape 2017-09-01 10:31:43 +03:00
Dmitry Stogov 1eb6fd8bc4 Extend SCCP to support properties of non-escaping objects 2017-08-31 13:17:46 +03:00
Dmitry Stogov d1d523ef50 Support for implicit array/object allocations 2017-08-30 17:41:45 +03:00
Dmitry Stogov fac553e6a6 Fixed escaping instructions 2017-08-29 15:46:57 +03:00
Dmitry Stogov 5155bf1f90 Check for user defined classes 2017-08-29 12:09:49 +03:00
Dmitry Stogov ebb339625d Aliased varaibles may escape 2017-08-28 16:56:47 +03:00
Dmitry Stogov 00e4974e2d Include variables with false dependencies into equi escape sets. 2017-08-28 14:19:36 +03:00
Dmitry Stogov 3cb6407e86 Initial implementation of Escape Analysis (disabled yet). 2017-08-22 16:55:03 +03:00