Peter Kokot
ab702e4fde
Trim trailing whitespaces in build files
...
Some editors utilizing .editorconfig automatically trim whitespaces. For
convenience this patch removes whitespaces in certain build files in
Zend and TSRM folders.
2018-07-29 15:46:43 +02:00
Dmitry Stogov
a588b825d6
Improved assignment to "next" element of array ($a[] = ...)
2018-07-27 13:15:22 +03:00
Xinchen Hui
a7746d10a5
Fixed bug #76667 (Segfault with divide-assign op and __get + __set)
2018-07-27 13:00:14 +08:00
Kalle Sommer Nielsen
ba8f0615e1
Fixed ZTS build
2018-07-26 14:01:49 +02:00
Dmitry Stogov
f374e93762
Use better check
2018-07-26 14:13:33 +03:00
Gabriel Caruso
562150906a
Remove extra semicolons
2018-07-26 12:38:22 +02:00
Dmitry Stogov
ab8094c666
Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value.
2018-07-26 12:58:07 +03:00
Dmitry Stogov
7a41e4c0d0
Documented ZEND_ACC_* flags (values are kept unchanged, except for ZEND_ACC_IMMUTABLE, that was introduced in 7.3 anyway)
2018-07-26 10:42:57 +03:00
Dmitry Stogov
f950128cd6
Encode parent class name as IS_CONST operand in DECLARE_INHERITED_CLASS and DECLARE_ANON_INHERITED_CLASS opcodes (eliminate FETCH_CLAS
...
S opcode).
2018-07-25 13:40:47 +03:00
Peter Kokot
a5e80b22e1
Fix typos in code comments
2018-07-25 11:57:11 +02:00
Dmitry Stogov
a29a800cb0
Regenerate scanners using re2c version >= 1.0.0 (newer version, at least, produce less code)
2018-07-25 12:49:03 +03:00
Dmitry Stogov
aed3de1bc5
Split add/sub_function(s) into fast and slow parts
2018-07-25 12:48:16 +03:00
Peter Kokot
8d3f8ca12a
Remove unused Git attributes ident
...
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.
In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.
This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Dmitry Stogov
d775fe33d1
Better name: ZEND_PROPERTY_HAS => ZEND_PROPERTY_NOT_EMPTY
2018-07-24 09:31:57 +03:00
Xinchen Hui
1638a6e118
Give a meaningful name
2018-07-24 12:51:36 +08:00
Xinchen Hui
4799cde613
Merge branch 'master' of https://github.com/oerdnj/php-src
...
* 'master' of https://github.com/oerdnj/php-src :
Use __cpuid_count() from cpuid.h instead of custom assembly
2018-07-24 10:48:07 +08:00
Dmitry Stogov
ebd1f5af3e
API cleanup.
...
Removed useless filename and lineno arguments, used in DEBUG build.
The patch doesn't break source compatibility of public API (only binary compatibility).
2018-07-23 15:24:07 +03:00
Dmitry Stogov
afc82e243c
Micro-optimization
2018-07-23 10:52:00 +03:00
Xinchen Hui
850c67e957
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed pefree_size (efree_size will be expaned to do {} while () form)
2018-07-23 15:49:04 +08:00
Xinchen Hui
c20a97df6d
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed pefree_size (efree_size will be expaned to do {} while () form)
2018-07-23 15:48:52 +08:00
Xinchen Hui
2139c2c2de
Fixed pefree_size (efree_size will be expaned to do {} while () form)
2018-07-23 15:48:14 +08:00
Nikita Popov
5c4047b339
Deprecate defining a free-standing assert() function
...
Part of https://wiki.php.net/rfc/deprecations_php_7_3 .
2018-07-21 22:34:09 +02:00
Dmitry Stogov
d77aa8fa6d
Fixed typo
2018-07-19 09:41:15 +03:00
Dmitry Stogov
412dd75e05
Perform checks for propertis started with '\\0' only for dynamic properties
2018-07-18 14:49:00 +03:00
Christoph M. Becker
583616deb1
[ci skip] Fix typo in comment
2018-07-18 11:29:05 +02:00
Dmitry Stogov
3b6e1ee4ee
Improved "Fast Shutdown".
2018-07-17 17:31:04 +03:00
Ondřej Surý
1a078117b5
Use __cpuid_count() from cpuid.h instead of custom assembly
2018-07-17 13:59:53 +00:00
Dmitry Stogov
df60566671
Inline FETCH_CONST and DEFINED handlers into "hybrid" executor.
2018-07-17 13:30:55 +03:00
Dmitry Stogov
88dd38ee81
Reduce overhead of case-insensitive constants deprecation for "fast path"
2018-07-17 12:58:58 +03:00
Nikita Popov
3588d8af12
Deprecate case-insensitive constants
...
RFC: https://wiki.php.net/rfc/case_insensitive_constant_deprecation
2018-07-16 19:16:55 +02:00
Dmitry Stogov
70d0175a13
Fixed error messages.
2018-07-16 17:08:11 +03:00
Dmitry Stogov
5e8977bd62
Merge zend_class_entry.create_object and zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces.
2018-07-12 17:09:40 +03:00
Christoph M. Becker
6c630eefcb
Fix #33502 : Some nullary functions don't check the number of arguments
...
We add the missing zend_parse_parameters_none() checks for:
* output_reset_rewrite_vars()
* func_num_args()
* gc_status()
* gc_disable()
* gc_enable()
* gc_enabled()
* gc_collect_cycles()
* gc_mem_caches()
* zend_version()
2018-07-12 15:05:56 +02:00
Dmitry Stogov
7d4e18b05d
Improved user iterator implementation to reduce zend_class_entry memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.
2018-07-12 14:04:14 +03:00
Dmitry Stogov
85ee47eda0
Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.
2018-07-11 18:56:10 +03:00
Anatol Belski
14db98825a
Fix build with ZEND_RC_DEBUG
2018-07-11 12:19:20 +02:00
Kalle Sommer Nielsen
2aff1cb226
Remove these two old and outdated files we never use:
...
* OBJECTS2_HOWTO is rather outdated and the wiki contains much of this
* ZendCore.dep is an old leftover from the previous Windows build system
2018-07-10 21:24:54 +02:00
Dmitry Stogov
4182b0855f
Avoid copying
2018-07-10 13:17:33 +03:00
Dmitry Stogov
7da042cbd8
Use ZVAL_COPY_DEREF()
2018-07-10 12:11:10 +03:00
Dmitry Stogov
0db8c974a5
Avoid useless copying
2018-07-10 12:03:32 +03:00
Dmitry Stogov
62b3464871
Removed deprecated condition
2018-07-10 11:04:10 +03:00
Dmitry Stogov
dbb9867b3e
Avoid useless checks for public functions
2018-07-09 17:30:14 +03:00
Dmitry Stogov
e4be6ce0fa
Combined few checks into one
2018-07-09 17:29:34 +03:00
Dmitry Stogov
797e87060c
Avoid reloading
2018-07-09 16:28:13 +03:00
Dmitry Stogov
a34fedb723
Eliminated check
2018-07-09 15:18:09 +03:00
Dmitry Stogov
40551e0255
Eliminated reference-counting and EG(exception) check
2018-07-09 13:20:46 +03:00
Dmitry Stogov
67b4c3379a
Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY()
2018-07-09 12:46:46 +03:00
Anatol Belski
d664d1e959
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fix C++11 and up compatibility for zend_finite and more
2018-07-08 20:34:58 +02:00
Anatol Belski
545a29d0cb
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fix C++11 and up compatibility for zend_finite and more
2018-07-08 20:32:52 +02:00
Anatol Belski
ad790bea2e
Fix C++11 and up compatibility for zend_finite and more
...
C++11 puts isfinite, isinf, isnan and a lot of other stuff into the
std namespace. Thus, if a C++11 or newer source is compiled, these
symbols won't be available. A good solution would be to include cmath,
but depending on a particular compiler that might remove even more
stuff from the global namespace, so such a fix should only target master.
For now, just keep these defines same for C++11 and upper, as the actual
C++ code should use symbols from the std namespace anyway. This
especially concerns older GCC versions like at least 4 and 5, which are
used by default in the LTS Linux distros.
2018-07-08 20:20:08 +02:00