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
Nikita Popov
04e3523b7d
Warn if continue is used on switch
...
Supersedes RFC https://wiki.php.net/rfc/continue_on_switch_deprecation
by generating a warning instead of deprecating and removing this
functionality.
2018-07-07 11:12:48 +02:00
Xinchen Hui
4c67f7e012
Forgotten one replacement
2018-07-06 19:18:06 +08:00
Xinchen Hui
9d1e9b73c5
rename ref_dtor_func to rc_dtor_func
2018-07-06 19:15:26 +08:00
Xinchen Hui
f9297387f4
Rename zval_dtor_func and ref_dotr_func
2018-07-06 18:47:30 +08:00
Xinchen Hui
e3355ac5ec
Revert "Rename _zval_dtor_func to _ref_dtor_func"
...
This reverts commit a362ae6b12 .
2018-07-06 18:37:45 +08:00
Xinchen Hui
a362ae6b12
Rename _zval_dtor_func to _ref_dtor_func
2018-07-06 18:32:27 +08:00
Dmitry Stogov
bd8e76761f
Use zval_ptr_dtor() instead of zval_dtor() in in-place array/object conversion functions
2018-07-06 12:07:13 +03:00
Dmitry Stogov
41db5f73ce
Fixed reference-counting in zend_parse_arg_str_weak()
2018-07-06 03:11:20 +03:00
Dmitry Stogov
dcf7592076
Optimize array to object casting
2018-07-06 03:10:05 +03:00
Dmitry Stogov
ca40664ad6
Conversion related optimizations
2018-07-06 01:26:43 +03:00
Dmitry Stogov
85b2bc38e1
Optimize object to array casting
2018-07-06 01:25:24 +03:00
Dmitry Stogov
8361c0a9a7
Avoid useless checks in object_init()
2018-07-06 01:24:15 +03:00
Dmitry Stogov
265c3ed6cf
Fixed incorrrecr zval_dtor() usage to replace value of argument passed by reference, that may lead to memory leaks.
2018-07-05 10:57:49 +03:00
Dmitry Stogov
6c0ddcda47
Removed legacy zval_dtor() usage. It doesn't work with zvals with refcount == 0, anyway.
2018-07-05 02:28:00 +03:00
Dmitry Stogov
5898583e94
Fixed some incorrect zval_dtor() usages
2018-07-04 23:48:39 +03:00
Dmitry Stogov
3a8f26060c
Argument unpacking with Traversables and non-integer keys.
...
Changed error message, added UPGRADING note and test.
2018-07-04 22:34:36 +03:00
Kalle Sommer Nielsen
6337af09dc
Added test case for bug #76539 for master only as the behavior has been restored
2018-07-04 19:50:34 +02:00
Dmitry Stogov
4a475a4976
Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
...
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
2018-07-04 19:22:24 +03:00
Dmitry Stogov
af341213f7
se zval_ptr_dtor_str() instead of zend_string_release_ex(Z_STR(*), 0)
2018-07-04 12:08:07 +03:00
Dmitry Stogov
5f19816f53
concat_function() micro optimization
2018-07-04 12:05:51 +03:00
Dmitry Stogov
d84ef96742
SEND_UNPACK should throw exception on Traversable with non-integer keys
2018-07-04 09:35:12 +03:00
Kalle Sommer Nielsen
c49f0fd9ac
Fixed bug #76501 (Funny message with fatal error)
2018-07-04 03:04:31 +02:00
Dmitry Stogov
7eb045d31a
API cleanup. Removed unused functions (kept compatibility macros).
2018-07-04 00:50:57 +03:00
Nikita Popov
e080fb6d92
Do not continue extract()ing after an exception has been thrown
...
Make behavior consistent with a loop of normal assignments.
This is not a big issue now, because $this is the only case that
may generate an error. However typed references introduce additional
error conditions, which would be silenced by this kind of behavior.
2018-07-03 22:45:35 +02:00
Dmitry Stogov
004a0568f4
Eliminated REFCOUNTED checks on persistent constant operands in SEND_VAL[_EX] and QM_ASSIGN.
2018-07-03 13:10:22 +03:00
Dmitry Stogov
177c7e3a72
Merge branch 'bug63217'
...
* bug63217:
Another fix for bug #63217
Partial revert of 30156d588c
2018-07-03 12:58:50 +03:00
Dmitry Stogov
3fd97a5b1f
Better hot/cold code splitting
2018-07-03 11:07:39 +03:00
Dmitry Stogov
28b03f9605
Another fix for bug #63217
2018-07-03 01:09:58 +03:00
Dmitry Stogov
57af94c8b9
Partial revert of 30156d588c
2018-07-02 20:54:44 +03:00
Rudi Theunissen
30156d588c
Fixed bug #63217
...
Don't automatically convert literal string keys to integers on
array access, as we may be dealing with an ArrayAccess object,
rather than a plain array.
2018-07-02 16:41:59 +02:00
Dmitry Stogov
091d77f28a
Avoid magic method hash lookups
2018-07-02 17:03:50 +03:00
Dmitry Stogov
43aca3118a
Avoid string comparisons for magic methods (all magic methods start with "__")
2018-07-02 17:03:02 +03:00
Nikita Popov
8faa6ef30e
Add test for void return type on internal function
2018-06-30 20:14:15 +02:00
Nikita Popov
7909d4532c
Merge branch 'PHP-7.2'
2018-06-30 20:11:59 +02:00