summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Fixed dl() function. It failed in DEBUG build without opcache because of ↵Dmitry Stogov2019-04-171-4/+4
| | | | | | | | | | | | | | | | assert during string interning.
* | | | Merge branch 'PHP-7.4'Dmitry Stogov2019-04-111-0/+4
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Fixed bug #77877 (call_user_func() passes $this to satatic methods).
| * | | Fixed bug #77877 (call_user_func() passes $this to satatic methods).Dmitry Stogov2019-04-111-0/+4
| | | |
* | | | Merge branch 'PHP-7.4'Nikita Popov2019-03-201-4/+5
|\ \ \ \ | |/ / /
| * | | Fixed bug #74345Nikita Popov2019-03-201-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Export zend_release_fcall_info_cache(). It is only necessary to call it if the fcc may not have been used -- if it is passed to zend_call_function() and friends, then they will take care of freeing trampolines.
* | | | Merge branch 'PHP-7.4'Nikita Popov2019-03-111-12/+16
|\ \ \ \ | |/ / /
| * | | Free trampolines from get_closure in is_callableNikita Popov2019-03-111-19/+19
| | | | | | | | | | | | | | | | Also extract this logic into a function, as it's duplicated a few times.
* | | | Make zpp failures always throw, independent of strict_typesNikita Popov2019-03-111-92/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously zend_parse_parameters (and FastZPP) would handle invalid arguments depending on strict_types: With strict_types=1, a TypeError is thrown, with strict_types=0 a warning is thrown and (usually) NULL is returned. Additionally, some functions (constructors always and other methods sometimes) opt-it to throwing regardless of strict_types. This commit changes zpp to always generate a TypeError exception in PHP 8.
* | | | Merge branch 'PHP-7.4'Dmitry Stogov2019-02-181-6/+6
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Use "quick" macro variants for known argument numbers
| * | | Use "quick" macro variants for known argument numbersDmitry Stogov2019-02-181-6/+6
| | | |
* | | | Merge branch 'PHP-7.4'Nikita Popov2019-02-151-2/+8
|\ \ \ \ | |/ / /
| * | | Assign (un)serialize_func during compilationNikita Popov2019-02-151-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids writing this cache at runtime, which is illegal if preloading is used. Not every serialize/unserialize function actually belongs to the Serializable interface, but I think it's not a problem to assign these anyway -- whether they are used ultimately depends on whether Serializable is implemented. Alternatively it might make sense to just drop these entirely. I don't think this is performance critical functionality.
* | | | Merge branch 'PHP-7.4'Dmitry Stogov2019-02-141-0/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Fixed bug #77613 (method visibility change) (reverted ZEND_ACC_CTOR and ZEND_ACC_DTOR flags removal)
| * | | Fixed bug #77613 (method visibility change) (reverted ZEND_ACC_CTOR and ↵Dmitry Stogov2019-02-141-0/+2
| | | | | | | | | | | | | | | | ZEND_ACC_DTOR flags removal)
* | | | Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handlerDmitry Stogov2019-02-071-13/+5
| | | |
* | | | Refactor zend_object_handlers API to pass zend_object* and zend_string* ↵Dmitry Stogov2019-02-041-33/+32
| | | | | | | | | | | | | | | | insted of zval(s).
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-02-031-10/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Remove local variables
| * | | 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
| | | |
* | | | Remove more leftovers from invalid static callsNikita Popov2019-01-301-18/+3
| | | | | | | | | | | | | | | | Callbacks are now always valid or not valid, there is no in-between.
* | | | Adios, yearly copyright rangesZeev Suraski2019-01-301-1/+1
| | | |
* | | | Remove static calls to non-static methodsNikita Popov2019-01-301-52/+13
| | | |
* | | | Remove support for legacy constructorsNikita Popov2019-01-291-7/+2
|/ / / | | | | | | | | | | | | This has been deprecated in PHP 7.0 by https://wiki.php.net/rfc/remove_php4_constructors.
* | | Merge branch 'PHP-7.3'Dmitry Stogov2019-01-241-0/+11
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fixed bug #77494 (Disabling class causes segfault on member access)
| * | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-01-241-0/+11
| |\ \ | | |/ | | | | | | | | | * PHP-7.2: Fixed bug #77494 (Disabling class causes segfault on member access)
| | * Fixed bug #77494 (Disabling class causes segfault on member access)Dmitry Stogov2019-01-241-0/+11
| | |
| | * Trim trailing whitespace in source code filesPeter Kokot2018-10-131-5/+5
| | |
| | * Fixed bug #75797Massimiliano Braglia2018-08-221-2/+5
| | | | | | | | | | | | | | | Fix zend_register_class_alias_ex() to use non-persistent strings for (non-persistent) userland classes.
| * | Future-proof email addressesZeev Suraski2018-11-011-3/+3
| | |
* | | Improved ZEND_TRY_ASSIGN... API to avoid unnecessary double copying and ↵Dmitry Stogov2019-01-181-0/+127
| | | | | | | | | | | | reduce code bloat.
* | | Implement typed propertiesNikita Popov2019-01-111-13/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Reuse add_property_zval_ex() instead of code duplicationDmitry Stogov2018-12-191-36/+8
| | |
* | | Removed add_get_assoc_*() and add_get_index_*() API functionsDmitry Stogov2018-12-191-65/+0
| | |
* | | Replace add_index_zval() and add_next_index_zval() functions by macrosDmitry Stogov2018-12-191-13/+0
| | |
* | | Replace zend_hash_apply... with ZEND_HASH_FOREACH...Dmitry Stogov2018-12-191-41/+22
| | |
* | | Update email addresses. We're still @Zend, but future proofing it...Zeev Suraski2018-11-011-3/+3
| | |
* | | Inlining in the most frequently used code pathsDmitry Stogov2018-10-231-7/+21
| | |
* | | Immutable clases and op_arrays.Dmitry Stogov2018-10-171-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-14/+1
| | |
* | | Allocate only necessary space for static properties of internal classes in ↵Dmitry Stogov2018-10-011-0/+10
| | | | | | | | | | | | ZTS mode.
* | | Class constants and default property values can't be IS_REFERENCE anymore.Dmitry Stogov2018-09-181-1/+0
| | |
* | | Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ↵Dmitry Stogov2018-09-181-1/+1
| | | | | | | | | | | | ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED.
* | | Remove HAVE_STDARG_HPeter Kokot2018-09-181-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The C89 standard and later defines the `<stdarg.h>` header as part of the standard headers [1]. On current systems it is always present and can be included unconditionally. Checking for presence and functionality of the `<stdarg.h>` header and variadic function is not relevant anymore on current systems since this is always available. Also Autoconf suggests relying on at least C89 or above [2] and [3]. The following files were regenerated with re2c 1.0.3: - Zend/zend_language_scanner.c - Zend/zend_language_scanner_defs.h Refs: [1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2 [2] http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4 [3] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
* | | Remove unused ZEND_FILE_LINE in i_zval_ptr_dtorNikita Popov2018-09-161-1/+1
| | |
* | | Make visibilty check in is_callable() to be consistent with ↵Dmitry Stogov2018-09-131-31/+16
| | | | | | | | | | | | zend_std_get_method()
* | | Get rid of ZEND_ACC_CTOR, ZEND_ACC_DTOR and ZEND_ACC_IMPLEMENTED_ABSTRACTDmitry Stogov2018-09-051-4/+2
|/ /
* | Fixed zend_read_static_propertyXinchen Hui2018-08-141-1/+1
| |
* | Fix length to copyAnatol Belski2018-07-311-1/+1
| |
* | 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.
* | API cleanup.Dmitry Stogov2018-07-231-3/+3
| | | | | | | | | | Removed useless filename and lineno arguments, used in DEBUG build. The patch doesn't break source compatibility of public API (only binary compatibility).