Dmitry Stogov
ba99aa133c
Fixed issues related to optimization and persitence of classes linked with interfaces, traits or internal classes.
2018-11-14 16:32:07 +03:00
Dmitry Stogov
8c7aa88e2d
Fixed crash introduced by bfaf662ac2
2018-11-07 09:36:21 +03:00
Dmitry Stogov
bfaf662ac2
Micro-optimization
2018-11-06 17:04:17 +03:00
Nikita Popov
429c5a0a82
Merge branch 'PHP-7.3'
2018-11-02 14:34:11 +01:00
Nikita Popov
d92f7630f7
Merge branch 'PHP-7.2' into PHP-7.3
2018-11-02 14:30:50 +01:00
Nikita Popov
4daa413898
Fixed bug #77092
...
Weird that this worked for so long, probably because nearly all
ext/standard functions use fast ZPP rather than ordinary ZPP.
2018-11-02 14:29:03 +01:00
Zeev Suraski
9afce019e0
Future-proof email addresses
2018-11-01 18:35:32 +02:00
Zeev Suraski
67e0138c0d
Future-proof email addresses...
2018-11-01 18:30:28 +02:00
Dmitry Stogov
bf38e6c10a
Keep original value of "prototype"
2018-10-30 16:13:45 +03:00
Dmitry Stogov
ebf44fbbda
Reslove inherited op_array references once afrer all optimizations.
2018-10-30 13:16:49 +03:00
Dmitry Stogov
2491b7b65a
Removed dead code
2018-10-29 21:38:25 +03:00
Gabriel Caruso
388c21e764
Add is_iterable to opcache Optimizer
2018-10-26 08:14:45 -03:00
Nikita Popov
3d415644f7
Merge branch 'PHP-7.3'
2018-10-25 16:44:54 +02:00
Nikita Popov
b9431ef4d5
Don't optimize function if inference failed
...
This was respected only for the single-function optimizations, not
in func-info mode.
2018-10-25 16:44:24 +02:00
Nikita Popov
78c2e0e342
Merge branch 'PHP-7.2' into PHP-7.3
2018-10-25 16:44:19 +02:00
Nikita Popov
902ec36710
Merge branch 'PHP-7.1' into PHP-7.2
2018-10-25 16:43:36 +02:00
Nikita Popov
f1ceec5533
Fixed bug #77058
...
Account for the fact that undef must be interpreted as null for
the purposes of INC/DEC inference.
2018-10-25 16:37:41 +02:00
Nikita Popov
e7153e8a2f
Improve "narrowing" error message
...
By including the opcode name.
2018-10-25 16:36:23 +02:00
Dmitry Stogov
d57cd36e47
Immutable clases and op_arrays.
...
Squashed commit of the following:
commit cd0c36c3f9
Merge: 4740dabb84 ad6738e886
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 14:43:38 2018 +0300
Merge branch 'master' into immutable
* master:
Remove the "auto" encoding
Fixed bug #77025
Add vtbls for EUC-TW encoding
commit 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 14:12:28 2018 +0300
Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.
commit ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 11:46:30 2018 +0300
Added comment
commit 0276ea5187
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 11:42:43 2018 +0300
Added type cast
commit c63fc5d5f1
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 11:36:51 2018 +0300
Moved static class members initialization into the proper place.
commit b945548e93
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 11:21:03 2018 +0300
Removed redundand assertion
commit d5a4108840
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 11:19:13 2018 +0300
Removed duplicate code
commit 8dadca8864
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 11:05:43 2018 +0300
Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.
commit 9ef07c88bd
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 10:48:29 2018 +0300
typo
commit a06f0f3d3a
Merge: 94099586ec 3412345ffe
Author: Dmitry Stogov <dmitry@zend.com >
Date: Wed Oct 17 10:47:07 2018 +0300
Merge branch 'master' into immutable
* master:
Remove unused variable makefile_am_files
Classify object handlers are required/optional
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
Remove some obsolete config_vars.mk occurrences
Remove bsd_converted from .gitignore
Remove configuration parser and scanners ignores
Remove obsolete buildconf.stamp from .gitignore
[ci skip] Add magicdata.patch exception to .gitignore
Remove outdated ext/spl/examples items from .gitignore
Remove unused test.inc in ext/iconv/tests
commit 94099586ec
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Oct 15 23:34:01 2018 +0300
Immutable clases and op_arrays
2018-10-17 15:52:50 +03:00
Peter Kokot
902d39a3a7
Trim trailing whitespace in source code files
2018-10-13 14:14:50 +02:00
Peter Kokot
7f6387b59a
Trim trailing whitespace in source code files
2018-10-13 14:12:55 +02:00
Dmitry Stogov
c1b649d448
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string offset")
2018-09-20 12:34:31 +03:00
Dmitry Stogov
b8ffa3707c
Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string offset")
2018-09-20 12:33:46 +03:00
Dmitry Stogov
689c6fb188
Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED.
2018-09-18 11:41:40 +03:00
Dmitry Stogov
5d2894c8e7
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Fixed wrong assertion
2018-09-10 15:27:48 +03:00
Dmitry Stogov
64dad57d19
Fixed wrong assertion
2018-09-10 15:26:38 +03:00
Nikita Popov
1038c4b4ce
Merge branch 'PHP-7.3'
2018-09-07 14:03:04 +02:00
Nikita Popov
a32c563e50
Merge branch 'PHP-7.2' into PHP-7.3
2018-09-07 14:02:51 +02:00
Nikita Popov
cfdd828163
Fixed bug #76796
2018-09-07 14:02:03 +02:00
Dmitry Stogov
002aa30786
Added check for "user" method
2018-08-28 23:56:12 +03:00
Dmitry Stogov
6136a20544
ZEND_DECLARE_CLASS, ZEND_DECLARE_INHERITED_CLASS and ZEND_DECLARE_INHERITED_CLASS_DELAYED don't need return value anymore.
2018-08-24 15:40:53 +03:00
Dmitry Stogov
8050f4a334
Keep information about unresolved parent class in zend_class_entry->parent_name
2018-08-24 00:20:57 +03:00
Dmitry Stogov
d140df58e6
Keep information about unresolved interfaces in zend_class_entry->interface_names.
...
Move interface implementation code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_INTERFACE and ZEND_VERIFY_ABSTRACT_CLASS opcodes.
2018-08-23 17:16:28 +03:00
Dmitry Stogov
67397970b2
Replace zend_class_entry->traits by persistent zend_class_entry->trait_names.
...
Move trait binding code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_TRIAIT and ZEND_BIND_TRAITS opcodes.
2018-08-23 02:02:26 +03:00
Dmitry Stogov
64f8b0185f
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Avoid hash lookups in BIND_STATIC and BIND_LEXICAL opcode handlers. Encode static variable offset into opline->extended_value.
2018-08-20 16:11:40 +03:00
Dmitry Stogov
b8828926f2
Avoid hash lookups in BIND_STATIC and BIND_LEXICAL opcode handlers.
...
Encode static variable offset into opline->extended_value.
2018-08-20 16:10:09 +03:00
Gabriel Caruso
84b195d9fc
Fix some misspellings
2018-08-12 16:15:45 +02:00
Peter Kokot
cf8ef08e20
Fix typos in code
2018-07-27 16:27:41 +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
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
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
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
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
Nikita Popov
5d7be2c2bc
Merge branch 'PHP-7.2'
2018-06-30 19:50:56 +02:00
Nikita Popov
34deda13a8
Merge branch 'PHP-7.1' into PHP-7.2
2018-06-30 19:50:40 +02:00
Nikita Popov
2eb6a541a9
Fix typo in compound dim assign op inference
...
Thankfully a harmless one, just makes inference results worse.
2018-06-30 19:50:07 +02:00
Dmitry Stogov
1b80de93b8
Cleanup conditions
2018-06-26 16:18:30 +03:00