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
bc288c4723
Simplify __clone() visibility check (magic methods still don't respect ZEND_ACC_CHANGED).
2018-09-13 13:36:09 +03:00
Dmitry Stogov
25d43cab8c
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Fixed support for commutative "user opcodes"
2018-09-05 22:11:36 +03:00
Dmitry Stogov
1d36c3361f
Fixed support for commutative "user opcodes"
2018-09-05 22:11:10 +03:00
Dmitry Stogov
2fbfdde1b6
Cleanup class linking
2018-08-27 16:40:25 +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
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
92fdf9d629
Change zend_lookup_class_ex() and zend_fetch_class_by_name() prototypes to accept optional lower-case class name as zend_string*, instead of zval*.
2018-08-22 17:07:31 +03:00
Dmitry Stogov
1321aa5080
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Stop using zend_function->reserved[] space.
2018-08-22 10:44:34 +03:00
Dmitry Stogov
8d95f561e4
Stop using zend_function->reserved[] space.
2018-08-22 10:43:51 +03:00
Dmitry Stogov
6d88e1ccd6
Don't use second operand of BIND_STATIC instruction.
2018-08-21 12:22:04 +03:00
Dmitry Stogov
7a52864ad0
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Removed dead code
2018-08-21 09:02:22 +03:00
Dmitry Stogov
5e5311e0ba
Removed dead code
2018-08-21 09:01:54 +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
Xinchen Hui
4ab25235e5
Added a note
2018-08-17 12:22:46 +08:00
Xinchen Hui
fd463a9a60
Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in _get_zval_ptr_tmp failed).
2018-08-17 12:19:31 +08:00
Dmitry Stogov
3ced766da9
Removed duplicate code. zend_fetch_dimension_address_LIST_w() was a copy of zend_fetch_dimension_address_W(), ZEND_FETCH_LIST_W_SPEC_CV_... a copy of ZEND_FETCH_DIM_W_SPEC_CV_...
2018-07-30 10:53:39 +03:00
Dmitry Stogov
a588b825d6
Improved assignment to "next" element of array ($a[] = ...)
2018-07-27 13:15:22 +03:00
Dmitry Stogov
f374e93762
Use better check
2018-07-26 14:13:33 +03: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
Dmitry Stogov
afc82e243c
Micro-optimization
2018-07-23 10:52:00 +03: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
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
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
dcf7592076
Optimize array to object casting
2018-07-06 03:10:05 +03:00
Dmitry Stogov
85b2bc38e1
Optimize object to array casting
2018-07-06 01:25:24 +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
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
d84ef96742
SEND_UNPACK should throw exception on Traversable with non-integer keys
2018-07-04 09:35:12 +03:00
Dmitry Stogov
7eb045d31a
API cleanup. Removed unused functions (kept compatibility macros).
2018-07-04 00:50:57 +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
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
d6ab163be8
cleanup
2018-06-29 12:35:14 +03:00
Dmitry Stogov
56450c6e65
Moved very rare exception check into a single place.
2018-06-27 13:34:15 +03:00
Xinchen Hui
3d8c82c353
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Update NEWS
Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)
Conflicts:
Zend/zend_vm_execute.h
2018-06-27 13:08:47 +08:00
Xinchen Hui
3521661bd1
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)
Conflicts:
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2018-06-27 13:07:36 +08:00
Xinchen Hui
d1b1866a3a
Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)
2018-06-27 13:05:11 +08:00