summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
Commit message (Collapse)AuthorAgeFilesLines
* handle dummy frameJoe Watkins2016-04-111-0/+3
|
* Fixed bug #71930 (_zval_dtor_func: Assertion `(arr)->gc.refcount <= 1' failed)Xinchen Hui2016-04-011-2/+2
|
* Fix ZEND_DEBUG conditionNikita Popov2016-03-181-1/+1
|
* PHP-7 zend_call_function() doesn't support symbol_table substitutionDmitry Stogov2016-03-021-0/+3
|
* Fixed bug #71470Nikita Popov2016-02-241-1/+1
| | | | | Don't report hashtable iterator leaks on unclean shutdown, those are expected.
* bump year which is missed in rev 49493a2Xinchen Hui2016-01-021-1/+1
|
* Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0Xinchen Hui2015-12-181-0/+6
|\
| * Fixed iter leak on by-ref foreach over const/tmp arrayNikita Popov2015-12-171-0/+6
| | | | | | | | | | | | | | | | | | FE_FREE does not unregister the iter for plain arrays. So always wrap into a REF wrapper, even if not strictly necessary, in RESET_RW. Alternatively we could use a flag to distinguish plain positions and interators. Also added a check for leaked iterators in shutdown_executor.
* | Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls)Xinchen Hui2015-12-181-5/+3
|/
* Use format stringXinchen Hui2015-12-121-1/+1
|
* Fixed bug #70914 zend_throw_or_error() format string vulnerabilityTaoguang Chen2015-11-141-1/+1
|
* Fixed reference cuntmting for closures (previously we didn't increment ↵Dmitry Stogov2015-10-091-5/+6
| | | | reference counter for "internal" closures)
* Revert "Allow random $this on non-internal Closures again"Dmitry Stogov2015-10-061-3/+0
| | | | This reverts commit 35d0405c4790f0ce668c9e1b8b05197e55d29a05.
* Allow random $this on non-internal Closures againBob Weinand2015-10-051-0/+3
| | | | | | | | | | As it turns out, there is actually no reason to prevent this, it even was a bigger BC break than expected... Also fixes a memory leak (the Closure leaks) when calling internal functions via Closure by moving it out of leave helper onto caller side for TOP_CODE: $z = new SplStack; $z->push(20); $x = (new ReflectionMethod("SplStack", "pop"))->getClosure($z); var_dump($x());
* Add myself into list of authors of the most refactored files.Dmitry Stogov2015-08-311-0/+1
|
* Get rid of implicit type casting in GC_*() macros in Zend/zend_types.h.Dmitry Stogov2015-08-131-2/+2
| | | | | | This prevented compilation warnings and disclosed few incorrect usages in Zend/zend_vm_def.h and ext/dom/xpath.c. Now explicit type casting may be required on call site. This may break some C extension code, but it shoulfn't be a problem to add explicit casting.
* improve ZEND_TLS declaration even more and move it to the better placeAnatol Belski2015-07-281-1/+1
|
* use better nameAnatol Belski2015-07-281-1/+1
|
* simplify declarationAnatol Belski2015-07-281-5/+1
|
* adjust storage classAnatol Belski2015-07-281-0/+1
| | | | | It's more convenient do explicitly disable the external linking. Also it's an improvement from the build access time perspective.
* Use NULL where possible for exception classAaron Piotrowski2015-07-071-16/+16
| | | | Matches usage of zend_throw_exception()/zend_throw_exception_ex().
* Fixed bug #70006 (cli - function with default arg = STDOUT crash output).Xinchen Hui2015-07-071-4/+0
|
* Replace references to PHP_WIN32 and TSRM_WIN32 with ZEND_WIN32 in Zend/, ↵Kalle Sommer Nielsen2015-07-041-1/+1
| | | | this also fixes 1 instance of where fflush(stderr) was misplaced (zend_extensions.c)
* Switch macro with __VA_ARGS__ to functionAaron Piotrowski2015-07-031-17/+29
|
* Remove need to pass error levelAaron Piotrowski2015-07-031-23/+23
|
* Enable throwing custom exceptions from errorsAaron Piotrowski2015-07-031-28/+22
|
* Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-35/+35
| | | | semantick changes).
* Avoid unnecessary reference counter incrementation on $this when call methodsDmitry Stogov2015-05-071-12/+3
|
* Restored accedently removed line that caused memory leakDmitry Stogov2015-04-271-0/+1
|
* Micro optimizationsDmitry Stogov2015-04-271-45/+74
|
* Don't propogate "fake" EX(called_scope) and EX(This) into each internal ↵Dmitry Stogov2015-04-231-2/+35
| | | | | | function. They need quite seldom and it's cheaper to get them from corresponfing upper stack frame.
* Partially enable leak reports for objectsNikita Popov2015-04-181-0/+6
| | | | | | | | | | Cycle leaks are currently not reported, because this needs further work. The last GC run has been moved to run earlier (before the object store free), so that array cycles that hold references to objects don't show up as leaks. Fingers crossed that this doesn't adversely affect anything else.
* Mark call frames to closures with ZEND_CALL_CLOSURE flag to avoid expensive ↵Dmitry Stogov2015-04-161-0/+1
| | | | check at zend_leave_helper()
* Optimization of stack-frame constructionDmitry Stogov2015-04-151-1/+1
|
* Squashed commit of the following:Dmitry Stogov2015-04-101-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't relay on reference-counter when parameter expected to be a reference, ↵Dmitry Stogov2015-04-031-39/+14
| | | | but value given.
* Recalssify some E_ERROR into E_CORE_ERRORDmitry Stogov2015-04-021-1/+1
|
* Unused varXinchen Hui2015-04-021-2/+0
|
* Fixed performance degradation introduced with lateast EnfineException ↵Dmitry Stogov2015-04-021-31/+35
| | | | | | related changes. Restore original errors order in executor.
* Convert fatal errors into EngineExceptionsDmitry Stogov2015-04-021-35/+24
| | | | Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
* Convert fatal errors into EngineExceptionsDmitry Stogov2015-04-011-22/+29
|
* Convert fatal errors into EngineExceptionsDmitry Stogov2015-04-011-2/+3
|
* Use zend_error_noreturn() for fatal errorsDmitry Stogov2015-04-011-20/+20
|
* Reclassify E_STRICT noticesNikita Popov2015-04-011-1/+1
| | | | | | | Per RFC https://wiki.php.net/rfc/reclassify_e_strict While reviewing this, found that there are still three E_STRICTs left in libraries - need to discuss those.
* Useless commentXinchen Hui2015-03-261-1/+0
|
* Reimplemented special constant handling. Now __HALT_COMPILER_OFFSET__ is ↵Dmitry Stogov2015-03-181-2/+11
| | | | resolved at compile-time. __CLASS__ retrived using separate ZEND_FETCH_CLASS_NAME opcode.
* More accurate reference counting on closuresDmitry Stogov2015-03-101-0/+4
|
* Fixed zend_hash_append result duplicated keyXinchen Hui2015-03-081-1/+0
| | | | | | | actually, maybe we should precalculate before calling zend_hash_appen when we are not sure whether the hash is caclculated(prop_info->name). but it looks a little ugly.. (also for zend_string_copy)
* Use fast zend_hash_append() APIDmitry Stogov2015-03-061-4/+11
|
* Avoid repeatable strlen() callsDmitry Stogov2015-03-051-0/+15
|