summaryrefslogtreecommitdiff
path: root/Zend/zend_object_handlers.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove get() object handlerNikita Popov2019-05-291-6/+0
| | | | | | | | Now that set() is gone, there is little point in keeping get(), as it is essentially just a different way of writing cast_object() now. Closes GH-4202.
* Remove set() object handlerNikita Popov2019-05-291-5/+0
|
* Merge branch 'PHP-7.4'Peter Kokot2019-02-181-1/+1
|\ | | | | | | | | * PHP-7.4: Fix typos in code comments in Zend/ [skip ci]
| * Fix typos in code comments in Zend/ [skip ci]Tyson Andre2019-02-181-1/+1
| |
* | Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handlerDmitry Stogov2019-02-071-2/+0
| |
* | Refactor zend_object_handlers API to pass zend_object* and zend_string* ↵Dmitry Stogov2019-02-041-34/+34
|/ | | | insted of zval(s).
* Remove local variablesPeter Kokot2019-02-031-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Adios, yearly copyright rangesZeev Suraski2019-01-301-1/+1
|
* Implement typed propertiesNikita Popov2019-01-111-3/+5
| | | | | | | | | | RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwei9@hotmail.com> Co-authored-by: Joe Watkins <krakjoe@php.net> Co-authored-by: Dmitry Stogov <dmitry@zend.com>
* Update email addresses. We're still @Zend, but future proofing it...Zeev Suraski2018-11-011-2/+2
|
* Fix accessibility checks for dynamic propertiesNikita Popov2018-10-221-1/+1
| | | | | | | | A dynamic property may be shadowed by a private/protected property. Make sure we check property accessibility for non-indirect properties as well. Closes #3626.
* Immutable clases and op_arrays.Dmitry Stogov2018-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit cd0c36c3f943849e5b97a8dbe2dd029fbeab3df9 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 4740dabb843c6d4f7f866b4a2456073c9eaf4c77 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 ad7a78b253be970db70c2251e66f9297d8e7f829 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:46:30 2018 +0300 Added comment commit 0276ea51875bab37be01a4dc5e5a047c5698c571 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:42:43 2018 +0300 Added type cast commit c63fc5d5f19c58498108d1698055b2b442227eb3 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 b945548e9306b1826c881918858b5e5aa3eb3002 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:21:03 2018 +0300 Removed redundand assertion commit d5a41088401814c829847db212488f8aae39bcd2 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:19:13 2018 +0300 Removed duplicate code commit 8dadca8864e66de70a24bdf1181bcf7dd8fb27d7 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 9ef07c88bd76801e2d4fbfeab3ebfd6e6a67ac5f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:48:29 2018 +0300 typo commit a06f0f3d3aba53e766046221ee44fb9720389ecc 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 94099586ec599117581ca01c15b1f6c5f749e23a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:34:01 2018 +0300 Immutable clases and op_arrays
* Classify object handlers are required/optionalNikita Popov2018-10-161-30/+29
|
* Restore array_key_exists() compatibility for ArrayObjectNikita Popov2018-10-111-0/+2
| | | | Doing this by special-casing array_key_exists() for ArrayObject.
* Introduce get_properties_for() handlerNikita Popov2018-10-101-0/+35
| | | | | This handler allows getting the object properties for a particular purpose, such as array casting, serialization, etc.
* Clarify that the get_properties handler is requiredNikita Popov2018-10-041-1/+1
| | | | | | Some places were checking for non-null get_properties, some weren't. Make it clear that the handler is required and such checks are not necessary.
* Remove zend_check_private()Dmitry Stogov2018-09-131-2/+0
|
* Remove unused Git attributes identPeter Kokot2018-07-251-2/+0
| | | | | | | | | | | | | | | 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.
* Better name: ZEND_PROPERTY_HAS => ZEND_PROPERTY_NOT_EMPTYDmitry Stogov2018-07-241-3/+3
|
* Give a meaningful nameXinchen Hui2018-07-241-0/+4
|
* Export standard object handlers, to avoid indirect accessDmitry Stogov2018-05-311-6/+22
|
* Keep initialized object_handlers structures in read-only memory.Dmitry Stogov2018-03-141-1/+1
|
* year++Xinchen Hui2018-01-021-1/+1
|
* Remove unnecessary readobj==writeobj checksNikita Popov2017-12-251-1/+2
| | | | | This can no longer be the case since PHP 7. The writeobj must always point to a different zval.
* Fixed signed/unsigned comparisonsDmitry Stogov2017-10-251-3/+3
|
* Made run_time_cache to keep "offset" to dynamic properties Buckets (instead ↵Dmitry Stogov2017-10-241-7/+7
| | | | of index).
* Use run-time cache to keep position of dynamic properties in HashTable to ↵Dmitry Stogov2017-10-231-3/+10
| | | | access them without hash lookup.
* Property access micro-optimization. (ZEND_WRONG_PROPERTY_OFFSET and ↵Dmitry Stogov2017-09-181-2/+3
| | | | ZEND_DYNAMIC_PROPERTY_OFFSET are hidden, use one comparison instead of two on fast paths. "Negative" offsets are reserved for future optimizations).
* further sync for vim mode linesAnatol Belski2017-07-041-0/+2
|
* Merge branch 'PHP-7.0' into PHP-7.1Anatol Belski2017-07-011-1/+1
|\ | | | | | | | | * PHP-7.0: yet one C++ compat fix
| * yet one C++ compat fixAnatol Belski2017-07-011-1/+1
| |
| * Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
| |
* | Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
| |
* | This function needs to be exported for extensions that implement complex ↵Joe Watkins2016-04-301-0/+2
| | | | | | | | zend objects
* | Fixed "comparison between signed and unsigned integer expressions" ↵Dmitry Stogov2016-04-291-2/+2
|/ | | | compilation warnings
* bump year which is missed in rev 49493a2Xinchen Hui2016-01-021-1/+1
|
* Mark error and exception functions as "cold" (Matt's idea)Dmitry Stogov2015-08-191-1/+1
|
* Squashed commit of the following:Dmitry Stogov2015-04-101-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 2399fc84c541da9c2176c5b7f6dd039a3c84dc64 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 12:38:08 2015 +0300 Removed useless assignment commit 796b6338174348eee0d74a67706d77b7ce1a60c3 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 12:35:31 2015 +0300 Fixed execution with overriden zend_execute_ex() commit 4a9fb125aa999059f8bc42ebb6ee573c7866b35b Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 02:02:58 2015 +0300 Fixed executor without global registers commit d456c30e00589ccda35a4b57ae903ef2d3c07d95 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 01:30:35 2015 +0300 Restored original behavior for tests/classes/__call_004.phpt commit 479646d37fef050536f1afb12b082618f1f1a3d0 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 00:32:17 2015 +0300 Fixed test. We don't keep stack frame for fake function anymore. commit 9ae61e33e24b2c811d4ab1ca4ab22847c64a780e Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 00:30:09 2015 +0300 Use ZEND_ACC_CALL_VIA_TRAMPOLINE instead of ZEND_ACC_CALL_VIA_HANDLER. Keep ZEND_ACC_CALL_VIA_HANDLER for compatibility. commit 0a8403a2a0c27aa3db271774f8559739a6b8400e Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Apr 10 00:05:43 2015 +0300 Rename PROXY_CALL into CALL_TRAMPLINE. Generalize API to allow reuse EG(trampline) for other purposes. commit 4ea0525c10554e36185a0b8b6303106813b6a1c2 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 23:22:25 2015 +0300 Reuse EG(proxy_call_op) for all proxy. Move proxy related functions from zend_objects_API to zend_object_handlers. commit 529bf737ca388ad56fb4ae20ccb81e6276f25ec0 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 21:42:23 2015 +0300 Accurate use of proxy_call commit 5d62837d5ba3855743fe1981786ebd65d9da0b63 Merge: 83e749f 690843f Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 19:40:00 2015 +0300 Merge branch 'master' into opcodefy-call * master: Fixed GOTO executor Fixed typo Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack. commit 83e749ff3b6623e39b236a72e9b907d5b788ae5e Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 19:39:10 2015 +0300 Improved ZEND_PROXY_CALL commit 0c829afc534e6d5ff27a0dea3a4815da303bd1ef Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 15:14:49 2015 +0300 Reverted white-space changes commit df65144488afa3e9020d75e1ada5529b138afc5a Merge: 5fd2f97 97756d9 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Apr 9 14:37:07 2015 +0300 Merge branch 'opcodefy-call' of github.com:laruence/php-src into opcodefy-call * 'opcodefy-call' of github.com:laruence/php-src: Ready for PR Fixed static call Improve performance by using prealloated op_arrray Respect called_scope Support internal magical __call/__callStatic opcode-fy magical __callStatic Opcode-fy magical __call commit 97756d9190e07a072a7b48135304dc25a964845f Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 19:07:59 2015 +0800 Ready for PR commit 74f993084627061e783645a866390b68e2981698 Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 19:03:00 2015 +0800 Fixed static call commit ec1d9eb592db0c3b7b0e3d21e7f445ed8bccfd4d Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 18:23:17 2015 +0800 Improve performance by using prealloated op_arrray commit df7fbbf949c99f2c5ae3da2a1199235651c7cc82 Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 15:10:02 2015 +0800 Respect called_scope commit 769d1d59fb48b6f7f93d7412eefbf26135fa3e59 Author: Xinchen Hui <laruence@gmail.com> Date: Thu Apr 9 12:19:23 2015 +0800 Support internal magical __call/__callStatic commit a980fedd5b0e0683713dd4f6eaad62adf4b4732f Author: Xinchen Hui <laruence@gmail.com> Date: Wed Apr 8 18:35:41 2015 +0800 opcode-fy magical __callStatic commit 73855f7d53baa2efc2b8a88314f51c784c81b59d Author: Xinchen Hui <laruence@gmail.com> Date: Wed Apr 8 14:21:55 2015 +0800 Opcode-fy magical __call
* bump yearXinchen Hui2015-01-151-1/+1
|
* Improved access to object properties (cache property offset instead of ↵Dmitry Stogov2015-01-131-0/+3
| | | | pointer to property_info).
* Handle run-time cache for static properties directly in executor.Dmitry Stogov2015-01-131-2/+2
| | | | Removed cache_slot argument in zend_std_get_static_property() and zend_std_unset_static_property().
* first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-37/+37
|
* Optimized property access handlers. Removed EG(std_property_info).Dmitry Stogov2014-10-171-0/+3
|
* Update get_class_name semanticsNikita Popov2014-10-091-1/+4
| | | | | | | | | | | | | | * get_class_name is now only used for displaying the class name in debugging functions like var_dump, print_r, etc. It is no longer used in get_class() etc. * As it is no longer used in get_parent_class() the parent argument is now gone. This also fixes incorrect parent classes being reported in COM. * get_class_name is now always required (previously some places made it optional and some required it) and is also required to return a non-NULL value. * Remove zend_get_object_classname. This also fixes a number of potential leaks due to incorrect usage of this function.
* Remove get_class_entry object handlerNikita Popov2014-10-091-2/+0
|
* Remove support for classes without class entriesNikita Popov2014-10-091-4/+0
| | | | get_class_entry must be non-NULL and return non-NULL.
* zend_get_property_info takes a zend_string* nowNikita Popov2014-09-141-1/+1
|
* master renames phase 1Anatol Belski2014-08-251-1/+1
|
* first shot on merging the core fro the int64 branchAnatol Belski2014-08-161-1/+1
|
* Refactored run_time_cache usage in object handlersDmitry Stogov2014-07-071-8/+8
|