David CARLIER
dad2d561e8
adding const attribute to trailing/leading zeros helpers. ( #13861 )
...
and adding noreturn to php_sighup_handler for compiler/dev clarification sake.
2024-04-02 12:10:18 +01:00
Alex Dowad
c8ec2ed730
Add AVX2-accelerated UTF-16 decoding/encoding routines
...
As with other SIMD-accelerated functions in php-src, the new UTF-16
encoding and decoding routines can be compiled either with AVX2
acceleration "always on", "always off", or else with runtime detection
of AVX2 support.
With the new UTF-16 decoder/encoder, conversion of extremely short
strings (as in several bytes) has the same performance as before,
and conversion of medium-length (~100 character) strings is about 65%
faster, but conversion of long (~10,000 character) strings is around
6 times faster.
Many other mbstring functions will also be faster now when handling
UTF-16; for example, mb_strlen is almost 3 times faster on medium
strings, and almost 9 times faster on long strings. (Why does mb_strlen
benefit more from AVX2 acceleration than mb_convert_encoding? It's
because mb_strlen only needs to decode, but not re-encode, the input
string, and the UTF-16 decoder benefits much more from SIMD
acceleration than the UTF-16 encoder.)
2023-02-05 20:06:42 +02:00
Christoph M. Becker
2f4973fd88
Revert GH-10279
...
Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816 >.
This reverts commit 45a128c9de
.
This reverts commit 1eb71c3f15
.
This reverts commit 492523a779
.
This reverts commit c7a4633891
.
This reverts commit 308adb915c
.
This reverts commit cd27d5e07f
.
This reverts commit c5933409b4
.
This reverts commit 46371f4eb3
.
This reverts commit 623e2e9fc6
.
This reverts commit e7434c1247
.
This reverts commit d28d323ca2
.
This reverts commit 1a067b84ee
.
This reverts commit a55c0c5fc3
.
This reverts commit b5aeb3a4d4
.
This reverts commit f061a035e4
.
This reverts commit b088575119
.
This reverts commit b1d48774a7
.
This reverts commit 94f9a20ce6
.
This reverts commit 4831e48708
.
This reverts commit cd985de190
.
This reverts commit 9521d21681
.
This reverts commit d6136151e9
.
2023-01-16 12:25:59 +01:00
Max Kellermann
46371f4eb3
Zend/zend_bitset: include cleanup
2023-01-12 15:12:45 +00:00
KsaR
01b3fc03c3
Update http->https in license ( #6945 )
...
1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |
2021-05-06 12:16:35 +02:00
Nikita Popov
3e01f5afb1
Replace zend_bool uses with bool
...
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.
Of course, zend_bool is retained as an alias.
2021-01-15 12:33:06 +01:00
Dmitry Stogov
aae50328e2
decbin/decoct/dechex optimization.
2020-09-08 10:34:29 +03:00
George Peter Banyard
fa8d9b1183
Improve type declarations for Zend APIs
...
Voidification of Zend API which always succeeded
Use bool argument types instead of int for boolean arguments
Use bool return type for functions which return true/false (1/0)
Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics
Closes GH-6002
2020-08-28 15:41:27 +02: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
Zeev Suraski
a453619499
Take out some last remnants of the yearly copyright range
2019-01-30 11:48:30 +01:00
Zeev Suraski
54dc07f3dc
Update email addresses. We're still @Zend, but future proofing it...
2018-11-01 17:20:07 +02:00
Peter Kokot
be49d61b19
Remove old SVN keywords substitutions
...
When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last change time and author name. Such approach is not used
in Git so this patch removes these outdated artifacts from source
code files.
2018-06-16 13:04:30 +02:00
Dmitry Stogov
4ad9cf4605
Bit test optimization
2018-05-08 11:58:17 +03:00
Xinchen Hui
0e62639d28
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Happy new year (Update copyright to 2018)
2018-01-03 16:00:34 +08:00
Lior Kaplan
fbfdd1e1c4
Happy new year (Update copyright to 2018)
2018-01-02 23:42:29 +02:00
Dmitry Stogov
2a286ad599
Added goblal optimisation passes based on data flow analyses using SSA form:
...
SCCP - Sparse Conditional Constant Propagation, DCE - Dead Code Elimination
and removing of unused local variablesi.
Squashed commit of the following:
commit bf5ac05fc0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 14:26:40 2017 +0300
Added news entry
commit 4cfa6984b1
Merge: 1cdaaac
1f261d7
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 13:30:50 2017 +0300
Merge branch 'sccp' into dce
* sccp:
Bump OCI8 version for recent patch
WS
Fix test title
Ensure that the stream position is kept between reads
Turn off EXIF_DEBUG so Travis don't complain at me
Don't add a new line to undefined tags in EXIF_DEBUG mode
Fix compile error with EXIF_DEBUG
update NEWS
disable --with-pcre-valgrind on travis
fix default args for --with-pcre-valgrind
Enable valgrind support for PCRE by default in debug builds
add oniguruma.patch to ease future upgrades
SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG
commit 1f261d77cb
Merge: a32a3fb
b280ba8
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 13:30:39 2017 +0300
Merge branch 'master' into sccp
* master:
Bump OCI8 version for recent patch
WS
Fix test title
Ensure that the stream position is kept between reads
Turn off EXIF_DEBUG so Travis don't complain at me
Don't add a new line to undefined tags in EXIF_DEBUG mode
Fix compile error with EXIF_DEBUG
update NEWS
disable --with-pcre-valgrind on travis
fix default args for --with-pcre-valgrind
Enable valgrind support for PCRE by default in debug builds
add oniguruma.patch to ease future upgrades
SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG
commit 1cdaaac601
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 13:27:12 2017 +0300
Use generic evalution mechanism for constant functions
commit 75bd92a609
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 12:39:05 2017 +0300
Fixed use-def chain unlinking for "$a = 1; $a += $a;"
commit 7d7746814d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 12:38:29 2017 +0300
Enable duplicate predecessors verification
commit 6b1667f206
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:55:20 2017 +0300
Removed duplicate definitions
commit 1415b53014
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:51:29 2017 +0300
Enable evaluation of constant functions with 3 arguments
commit ab367deef9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:45:13 2017 +0300
Removed deprecated check
commit c51659ea8c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:40:42 2017 +0300
Reduce limit
commit b1be5a04d7
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:38:23 2017 +0300
Disable constant array_flip() evaluation
commit 7a5b0596a1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:33:20 2017 +0300
Fixed comments
commit 377e48b342
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:28:50 2017 +0300
Cast of string to long/double can not produce exception
commit 228dd01af3
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:24:50 2017 +0300
Added missed return
commit 0972a21636
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:22:36 2017 +0300
objects may be nested in array operands
commit bd346bfa5c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:19:20 2017 +0300
~$resource is unsupported.
commit c77e45610c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:15:39 2017 +0300
ws
commit 0b64d71109
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:14:40 2017 +0300
Call to zend_ssa_unlink_use_chain() shouldn't be dropped
commit cb7059fcf6
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:11:58 2017 +0300
Safer check for function name. The previous check is incorrect in ZTS build.
commit 7280aba1e1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 11:02:10 2017 +0300
Missing warning
commit 54bc7b576c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 14 10:56:42 2017 +0300
Proper check for successors count
commit ea8c004a15
Merge: 624f76d
a32a3fb
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 13 15:56:26 2017 +0300
Merge branch 'sccp' into dce
* sccp:
fix fold
Fixed bug #74866 extension_dir = "./ext" now use current directory for base
add next vc15 toolset to the list
Revert "Enable whole program optimization for builds without PGO, too"
extend comment
cleanup discontinued target
commit a32a3fb67c
Merge: 2722dbf
5fb2abd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 13 15:56:14 2017 +0300
Merge branch 'master' into sccp
* master:
fix fold
Fixed bug #74866 extension_dir = "./ext" now use current directory for base
add next vc15 toolset to the list
Revert "Enable whole program optimization for builds without PGO, too"
extend comment
cleanup discontinued target
commit 624f76df48
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 13 12:30:27 2017 +0300
Set RETURN_VALUE_UNUSED instead of additional FREE opcode, if possible.
Keep alive dead instructions that have to free two temporary variables.
commit 94c9b26695
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 13 11:51:14 2017 +0300
More accurate "vararg" handling in DCE
commit 665ed8491c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 13 09:31:45 2017 +0300
Improved DCE performance, by avoiding redundand checks and repeatable iterations.
commit 3f42ce18ba
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 23:03:11 2017 +0300
Added few more instructions without side effects and exceptions
commit b17178f991
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 20:39:02 2017 +0300
Temprary enable SSA validation in DEBUG build
commit e238a8dc79
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 20:37:53 2017 +0300
Inegrate SSA validation developed by Nikita
commit a247cee80b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 20:31:27 2017 +0300
Perform DCE pass before other DFA optimisations, to properly reconstruct "no value" use-def chains.
commit a651564f29
Merge: 06f6eb0
2722dbf
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 18:55:05 2017 +0300
Merge branch 'sccp' into dce
* sccp:
Resources should be closed during object destructioin, not during freeing.
Guard against AppVeyor losing deps issue
increase poll timeout as false positives mitigation
Value of EG(user_exception_handler) should't relive request boundary
sodium ext: remove function names before exception messages
sodium ext: update the crypto_kx_*() API to the libsodium one
Revert "fix macro redifinitions"
commit 2722dbfdf5
Merge: 6595ea3
09d3b73
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 18:54:48 2017 +0300
Merge branch 'master' into sccp
* master:
Resources should be closed during object destructioin, not during freeing.
Guard against AppVeyor losing deps issue
increase poll timeout as false positives mitigation
Value of EG(user_exception_handler) should't relive request boundary
sodium ext: remove function names before exception messages
sodium ext: update the crypto_kx_*() API to the libsodium one
Revert "fix macro redifinitions"
commit 06f6eb0e68
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 14:52:28 2017 +0300
Use zend_ssa_is_no_val_use() instead of zend_has_improper_op1_use()
commit 4b64dbb30d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 13:07:14 2017 +0300
Check if instruction may throw exception only for instructions without known side effects.
Always disable removing ASSIGN and UNSET_VAR that may throw.
commit c5aa1f47cd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 11:21:07 2017 +0300
Use existing bit
commit c2af153bae
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 11:10:48 2017 +0300
Updated Windows build
commit de5e8fc129
Merge: 8c0de53
6595ea3
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 11:10:12 2017 +0300
Merge branch 'sccp' into dce
* sccp: (29 commits)
Use existing bit
Updated Windows build
Fixed compilation error
Remove debug code
We need to check for the length here too, or we crash and no one likes that! :(
* Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) * ext/exif now uses FAST_ZPP
Remove extraneous configure flag
Revert "remove excessive checks and fix warnings"
parametrize zip names
Upgrade bundled PCRE to 8.41
Updated NEWS file with LDAP changes
Fixed removing all controls by passing an empty array to ldap_set_option
Filled in NEWS file with ext/ldap last modifications
change order, allow to build as shared extension
restore file deleted by mistake in a merge commit
Fix segfault in php_stream_context_get_option call
remove excessive checks and fix warnings
fix macro redifinitions
fix symbol availability and ws
Remove this for now, as not found
...
commit 6595ea3420
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 10:27:02 2017 +0300
Use existing bit
commit f0bfd36cb8
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 10:21:22 2017 +0300
Updated Windows build
commit a9bd7c89f2
Merge: d1eb5ed
2b7d3fb
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 12 09:51:32 2017 +0300
Merge branch 'master' into sccp
* master: (27 commits)
Fixed compilation error
Remove debug code
We need to check for the length here too, or we crash and no one likes that! :(
* Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) * ext/exif now uses FAST_ZPP
Remove extraneous configure flag
Revert "remove excessive checks and fix warnings"
parametrize zip names
Upgrade bundled PCRE to 8.41
Updated NEWS file with LDAP changes
Fixed removing all controls by passing an empty array to ldap_set_option
Filled in NEWS file with ext/ldap last modifications
change order, allow to build as shared extension
restore file deleted by mistake in a merge commit
Fix segfault in php_stream_context_get_option call
remove excessive checks and fix warnings
fix macro redifinitions
fix symbol availability and ws
Remove this for now, as not found
fix authors
NEWS for Sodium
...
commit 8c0de53e5f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 21:54:36 2017 +0300
Initial integration of Dead Code Elimination (DCE) and unused variable removing passes, originally developed in https://github.com/nikic/php-src/tree/opt , into DFA optimization pass.
commit d1eb5ede3a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 12:19:11 2017 +0300
Proper SSA reconstruction for "$a = $a;"
commit 4872d139b5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 11:57:33 2017 +0300
Replace conditions, that should be always true, by ZEND_ASSERT()
commit 9915b1f5cd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 11:56:51 2017 +0300
Fixed pass name
commit d26ff1b88d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 11:55:47 2017 +0300
Don't create identical predecessors
commit 0625fbe32b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 09:36:07 2017 +0300
Update unreachable blocks.
commit 9d7d409e6a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 09:28:49 2017 +0300
Keep consistent cfg.map[]
commit 85a86e58b2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 02:36:14 2017 +0300
Remove unusded phi
commit d5e0f2df4c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Jul 11 02:35:00 2017 +0300
Don't clear phi->spources[] too early.
commit a90ed34295
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 21:29:39 2017 +0300
Make SCCP to remove dead live ranges.
commit 320237f3d8
Merge: 63bbed5
7be2637
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 17:35:21 2017 +0300
Merge branch 'master' into sccp
* master:
Fixed memory leak introduced by 7cb5bdf64a
eliminate casts
remove checks for eol dependencies
improve test
Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them
ZipArchive implements countable, added ZipArchive::count() method
commit 63bbed5e71
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 17:01:15 2017 +0300
Evaluation of few more constant functions
commit 07f45d8a3d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 16:22:47 2017 +0300
Properly unlinking dead blocks from predecessors/successors and dominators
commit 502002aa6e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 13:33:14 2017 +0300
Replacel constant JMPZ/NZ/ZNZ by JMP or NOP
commit 3253e61b66
Merge: e7f69f0
161c378
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 12:22:39 2017 +0300
Merge branch 'master' into sccp
* master:
Revert "Fixed bug #74878 "
Upgrading note for #74837
Fixed bug #74837 - NEWS
Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837 )
Fix #49649 - Handle property visibility changes on unserialization
commit e7f69f07fc
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 12:15:08 2017 +0300
Prevent compile-time evaluation of implode() with arguments causing run-time warnings
commit 0e882f189a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 11:54:04 2017 +0300
Constant evaluation of ini_get() for some safe cases
commit 9e36a748b2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 11:13:37 2017 +0300
Constant evaluation of implode()
commit e73046e266
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 10:51:23 2017 +0300
Fixed uninitialized value
commit f5e2e8e68c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 10:05:37 2017 +0300
Remove (compact) unused constants after SCCP pass
commit f0b7bb86eb
Merge: e69d4f6
cfacf84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Jul 10 09:10:00 2017 +0300
Merge branch 'master' into sccp
* master: (37 commits)
#73594 tests only check the extra params if dns_get_record is successful
Fixed bug #74852 (property_exists returns true on unknown DateInterval property)
fix uninitialized var
fix comparison warning
comply with POSIX signature
fix warning
remove some casts
cleanup casts
remove useless cast
eliminate casts
sync vim mode lines in main
[ci skip] update NEWS
[ci skip] update NEWS
[ci skip] update NEWS
Fixed bug #74883 SQLite3::__construct() produces "out of memory" exception with invalid flags
Silent compiler warning
Fix test
Deprecated the read_exif_data() alias
Add myself as exif maintainer
update libs versions
...
commit e69d4f6140
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 7 12:51:41 2017 +0300
Avoid in-place modification of referenced data
commit 58f7c17978
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 7 12:33:24 2017 +0300
Use arena for temporary data.
commit 93d3e7ddc2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 7 11:54:47 2017 +0300
Made sccp_ctx to be an "extension" of scdf_ctx and remove duplicate data.
commit f810c6f7c4
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 7 11:20:48 2017 +0300
Improved SSCP integration
commit d17ed887f3
Merge: d90805a
29653da
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 7 10:22:37 2017 +0300
Merge branch 'master' into sccp
* master:
Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()).
Fixed bug #72324 (imap_mailboxmsginfo() return wrong size)
Fix redefine warnings
Expand sb's name and capitalize my own
Write the URL on a new line, so that it is easier copyable
commit d90805a40b
Merge: 2e5e03b
fc336c7
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 23:07:04 2017 +0300
Merge branch 'master' into sccp
* master:
Added missed dump of "main" script code
replace the stack var by a macro
[ci skip] sync NEWS
minor fix for web announce
add missing NEWS entry for #74087 and also fix the formatting
move NEWS entry to the correct place, also bump the version
commit 2e5e03b673
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 23:03:41 2017 +0300
Call info should be removed, but at least we should prevent incorrect stack adjustment.
commit 1ee9110b35
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 19:34:43 2017 +0300
Remove NOP instructions, introduced bvy SCCP.
This commit discloses unrelated issue caused ext/soap/tests/bug70211.phpt failure.
commit 9a2f50070d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 16:34:02 2017 +0300
Avoid useless iterations for first SSA variablesi, always marked BOT.
commit c57dd7c6ef
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 16:33:46 2017 +0300
Use reference-counting
commit 90f822d68e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 14:00:22 2017 +0300
Support for few more opcodes
commit cffee2f7e5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 12:35:13 2017 +0300
Combined constants substitutaion and dead instruction removing in single pass. This eleminates substitution in dead instructions.
commit f890375c16
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 10:34:48 2017 +0300
Use reference-counting instead of duplication
commit db0cd64dfa
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 03:04:27 2017 +0300
Improved SCDF<->SCCP interface
- "get_feasible_successors" callback is changed into "mark_feasible_successors" and should mark necessary edges through scdf_mark_edge_feasible()
- SCDF takes care about OP_DATA instruction
- SCDF code is re-arranged to avoid repeatable checks
commit e0ad5dd489
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 00:55:40 2017 +0300
Changed representation of "feasible_edges", using one bit per edge.
commit afee3138fe
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jul 6 00:49:56 2017 +0300
Revert "Don't propagate unused values"
This reverts commit 84e5bfd430
.
commit 84e5bfd430
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 23:39:42 2017 +0300
Don't propagate unused values
commit d4f15b9506
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 23:39:10 2017 +0300
Don't visit the same Phi twice
commit 2558311b4d
Merge: 722a59d
7bb4ae5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 21:51:06 2017 +0300
Merge branch 'master' into sccp
* master:
Fixed final dump "after optimizer"
commit 722a59ddb1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 21:09:29 2017 +0300
SCCP doesn't support VERIFY_RETURN_TYPE (ext/opcache/tests/bug73789.phpt failure)
commit 7084fade4d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 20:37:21 2017 +0300
Fixed SSA reconstruction
commit 37ec4e0845
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 19:34:46 2017 +0300
Disable constant propagation for variables that can be modified indirectly
commit 4bb9b6526e
Merge: 6800460
73d5097
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 19:17:04 2017 +0300
Merge branch 'master' into sccp
* master: (43 commits)
Keep information about SSA variables, that may be modified indirectly.
Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
Added support for controls to ldap_get_option
[ci skip] sync NEWS
NEWS for oniguruma
Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
valid_symbol_table removed
Improve fix for #74145
Fix wddx
Fix tests
Fixed bug #74111
Fix bug #74603 - use correct buffer size
Fix bug #74651 - check EVP_SealInit as it can return -1
Update NEWS
Fix bug #74087
Fixed parsing of strange formats with mixed month/day and time strings
...
commit 680046086c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 16:14:38 2017 +0300
Support for few more internal functions evaluation
commit 74a29468ef
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 13:42:55 2017 +0300
Disabled evaluation of strpos() with empty needle.
commit e8908946e5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 13:17:30 2017 +0300
Replace calls to in_array() with constant array by IN_ARRAY instruction after SCCP.
commit 4e8fa2c3dd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jul 5 00:58:12 2017 +0300
Initial integration of Sparse Conditional Constant Propagation (SCCP), originally developed in https://github.com/nikic/php-src/tree/opt , into DFA optimization pass.
2017-07-14 14:33:34 +03:00
Anatol Belski
bc5811f361
further sync for vim mode lines
2017-07-04 18:12:45 +02:00
Nikita Popov
2f438342ec
Fixed bug #73727
...
Error introduced when refactoring zend_alloc code into zend_bitset.
2016-12-14 17:56:31 +01:00
Nikita Popov
543649bd4c
Fix correctness issues with type narrowing
...
Fixes bug #72335 .
2016-06-06 14:56:17 +03:00
Nikita Popov
14023d39c1
Move builtin_ctzl portability into zend_bitset.h
...
Use this function in both zend_mm_bitset_find_one and
zend_bitset_first.
Maybe zend_bitset.h is not quite the right place for it, but I did
not want to include this in a globally included header like
zend_long.h or zend_portability.h.
2016-05-17 22:23:43 +02:00
Nikita Popov
b1c3c9a525
Explicitly construct phi set during def propagation
...
Previously the phi set was first computed during def propagation
and then computed again (per-block) during actual phi placement.
This commit changes this to store the phi set computed during
def propagation.
This makes SSA construction slightly faster (5%), but the main
purpose here is to pave the way for the next commit.
This also fixes a potential issue with the handling of irreducible
loops -- they generated additional phis, but these were not
accounted for in def propagation. (Though I'm not sure if we can
even have any irreducible loops right now.)
2016-05-12 22:08:28 +02:00
Nikita Popov
cafe78d12a
Introduce ZEND_BITSET_FOREACH macros
2016-04-24 17:05:13 +02:00
Dmitry Stogov
90cb3bb7de
Reduce memory usage by using bitsets instead of array of bytes.
2015-08-06 15:41:50 +03:00