summaryrefslogtreecommitdiff
path: root/Zend/zend_builtin_functions.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed zend_update_class_constants() to always resolve all constants.Dmitry Stogov2015-05-211-2/+4
| | | | Call zend_update_class_constants() only when necessary.
* Don't propogate "fake" EX(called_scope) and EX(This) into each internal ↵Dmitry Stogov2015-04-231-14/+5
| | | | | | function. They need quite seldom and it's cheaper to get them from corresponfing upper stack frame.
* Merge branch 'coroutineDelegation' of https://github.com/bwoebi/php-srcBob Weinand2015-04-141-0/+5
|\
| * Added yield from operatorBob Weinand2015-03-071-0/+5
| |
* | Squashed commit of the following:Dmitry Stogov2015-04-101-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Use new macrosXinchen Hui2015-04-081-2/+2
| |
* | Recalssify some E_ERROR into E_CORE_ERRORDmitry Stogov2015-04-021-1/+1
| |
* | Convert fatal errors into EngineExceptionsDmitry Stogov2015-04-021-2/+6
| | | | | | | | Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
* | Use zend_error_noreturn() for fatal errorsDmitry Stogov2015-04-011-1/+1
| |
* | Added missing zend_parse_parameters_none() to restore_error_handler() and ↵Kalle Sommer Nielsen2015-03-301-0/+8
| | | | | | | | restore_exception_handler() (Ferenc)
* | Minor cosmetics for our test functions in the debug buildKalle Sommer Nielsen2015-03-261-3/+11
| |
* | Change the error message for colliding class/interface/trait names to be a ↵Kalle Sommer Nielsen2015-03-261-1/+1
| | | | | | | | | | | | | | little more clearer. C:\> php -r "interface stdClass { }" Error: Cannot declare interface stdClass, because the name is already in use in Command Line Code on line 1
* | Change "Cannot redeclare class X" into "Cannot redeclare ↵Kalle Sommer Nielsen2015-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | class/interface/trait X", meaning that the following: C:\> php -r "trait A { } trait A { }" Will now properly print "Cannot redeclare trait A" instead of "Cannot redeclare class A" to make error messages a tiny bit clearer. Admittedly, a better solution can most likely be made by actually telling what the colliding object is a type of. Internally this adds a new function: zend_get_object_type()
* | Use specialized macro for string zval creationDmitry Stogov2015-03-121-6/+6
| |
* | Added specialized versions of DO_FCALL handler:Dmitry Stogov2015-02-251-0/+6
| | | | | | | | | | | | DO_ICALL - for internal functions DO_UCALL - for user functions DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
* | don't count op_arrays stored in opcache SHMDmitry Stogov2015-02-201-2/+4
|/
* Merged zend_array and HashTable into the single data structure.Dmitry Stogov2015-02-131-4/+2
| | | | | Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
* Cleanup checks in zend_builtin_functions.cNikita Popov2015-02-121-6/+5
| | | | The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary.
* Made ZEND_ACC_TRAIT a saner valueGuilherme Blanco2015-02-121-2/+5
| | | | CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
* Add test function argumentsReeze Xia2015-02-051-1/+18
|
* Fixed refcount handling in get_class_vars()Xinchen Hui2015-01-231-0/+2
|
* define() must not modify the source arrayDmitry Stogov2015-01-221-8/+1
|
* cleanupDmitry Stogov2015-01-201-17/+1
|
* Optimized is_aXinchen Hui2015-01-191-6/+10
|
* bump yearXinchen Hui2015-01-151-1/+1
|
* Fixed possible double freeDmitry Stogov2015-01-131-1/+1
|
* Fixed possible crashDmitry Stogov2015-01-131-11/+13
|
* Optimized error_reporting() similar to silence operator (ZEND_BEGIN_SILENCE ↵Dmitry Stogov2015-01-121-6/+33
| | | | opcode).
* Use FAST_ZPP in few more frequently used functionsDmitry Stogov2015-01-121-0/+7
|
* trailing whitespace removalStanislav Malyshev2015-01-101-44/+44
|
* Drop duplicate arg from hash_get_current_key_exNikita Popov2014-12-261-1/+1
|
* remove unused variableAnatol Belski2014-12-241-1/+0
|
* C89 compatAnatol Belski2014-12-241-1/+2
|
* Added new API function 'zend_string* zend_string_tolower(zend_string*)'.Dmitry Stogov2014-12-241-45/+42
| | | | It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
* API for fast construction of packed arraysDmitry Stogov2014-12-231-50/+57
|
* Improved get_object_vars()Dmitry Stogov2014-12-231-16/+22
|
* Don't count variadic argument in zend_func.common.num_args. This allows ↵Dmitry Stogov2014-12-221-9/+0
| | | | faster CALL/RETURN code.
* Allow arrays with define(), to match const syntax supportDmitry Stogov2014-12-211-1/+77
|
* first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-96/+96
|
* Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ↵Dmitry Stogov2014-11-281-3/+3
| | | | ZEND_CALL_VAR_NUM().
* Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into ↵Dmitry Stogov2014-11-281-3/+3
| | | | "call_kind" and VM_FRAME_... into ZEND_CALL_...
* Pack EX(num_args) into EX(This).u2.num_argsDmitry Stogov2014-11-281-7/+7
|
* Improved object property access.Dmitry Stogov2014-11-061-6/+4
|
* Addtion fix for bug #68252 , forget static variable hanldingXinchen Hui2014-10-281-3/+3
|
* Fixed bug #68252 (segfault in Zend/zend_hash.c in function _zend_hash_del_el)Xinchen Hui2014-10-281-1/+1
| | | | Don't leave a UNDEF gap in function_table
* fix datatype mismatchesAnatol Belski2014-10-241-2/+2
| | | | and convert len args to size_t where the underlaying API uses zend_string
* Update get_class_name semanticsNikita Popov2014-10-091-12/+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 zend_get_class_entry functionNikita Popov2014-10-091-7/+3
|
* Remove support for classes without class entriesNikita Popov2014-10-091-5/+1
| | | | get_class_entry must be non-NULL and return non-NULL.
* Merged EX(frame_kind) and EX(flags) into single wordDmitry Stogov2014-10-071-3/+3
|