summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bug #78921Nikita Popov2019-12-131-0/+4
| | | | | By resetting fake_scope during autoloading. We already do the same when executing destructors.
* Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-07-091-21/+7
|\
| * Revert "Fixed bug #76980"Nikita Popov2019-07-091-21/+7
| | | | | | | | | | | | | | | | This reverts commit 35353dc49a73a58c17c7896c4c4c3997ef2c007d. This changes causes issues for Symfony, see https://github.com/symfony/symfony/issues/32395. I'm reverting it from PHP 7.2 and PHP 7.3 and only leaving it in PHP 7.4.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-151-7/+21
|\ \ | |/
| * Fixed bug #76980Nikita Popov2019-05-151-7/+21
| | | | | | | | | | | | | | | | If we perform a class fetch that is not marked as exception safe, convert exceptions thrown by autoloaders into a fatal error. Ideally fetching the interfaces would be exception safe, but as it isn't right now, we must abort at this point.
| * Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| |
* | Future-proof email addressesZeev Suraski2018-11-011-3/+3
| |
* | Pack zend_constant.flags and zend_constant.module_number into reserved space ↵Dmitry Stogov2018-07-261-2/+2
| | | | | | | | inside zend_constant.value.
* | 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.
* | Fixed typoDmitry Stogov2018-07-191-2/+2
| |
* | Improved "Fast Shutdown".Dmitry Stogov2018-07-171-19/+7
| |
* | Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized ↵Dmitry Stogov2018-07-041-2/+2
| | | | | | | | | | | | | | destructors. zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places. Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
* | API cleanup. Removed unused functions (kept compatibility macros).Dmitry Stogov2018-07-041-17/+0
| |
* | Lazy function copying from op_cache SHM into process memoryDmitry Stogov2018-06-251-3/+4
| |
* | Merge branch 'PHP-7.2'Nikita Popov2018-06-221-0/+1
|\ \ | |/
| * Fixed bug #76520Nikita Popov2018-06-221-0/+1
| |
| * year++Xinchen Hui2018-01-021-1/+1
| |
* | Removed "dead" code (zend_hash_update() never fails)Dmitry Stogov2018-06-011-4/+8
| |
* | Use zend_string_release_ex() instread of zend_string_release() in places, ↵Dmitry Stogov2018-05-281-12/+12
| | | | | | | | where we sure about string persistence.
* | zend_fcall_info_cache.calling_scope is not used by zend_call_function() and ↵Dmitry Stogov2018-05-031-8/+1
| | | | | | | | | | | | doesn't have to be initialized. It's used only as a result of zend_is_callable() in forward_static_call and spl_autoload.
* | Optimize zend_hash_real_init()Dmitry Stogov2018-03-231-1/+1
| |
* | Completely hide GC implementation details into zend_gc.cDmitry Stogov2018-02-271-1/+1
| |
* | Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure ↵Dmitry Stogov2018-01-111-2/+1
| | | | | | | | object through address calculation, instead of op_array->prototype reuse. (reapply 781e1573afdc7c336b3577ceabc9c65cafea17e8, now it should be OK).
* | Revert "Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to ↵Dmitry Stogov2018-01-111-1/+2
| | | | | | | | | | | | closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong) This reverts commit 781e1573afdc7c336b3577ceabc9c65cafea17e8.
* | Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure ↵Dmitry Stogov2018-01-111-2/+1
| | | | | | | | object through address calculation, instead of op_array->prototype reuse.
* | Trailing whitespacesGabriel Caruso2018-01-031-1/+1
| | | | | | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* | year++Xinchen Hui2018-01-021-1/+1
| |
* | Merge branch 'PHP-7.2'Xinchen Hui2017-12-281-2/+4
|\ \ | |/ | | | | | | * PHP-7.2: Fixed bug #75742 (potential memleak in internal classes's static members)
| * Fixed bug #75742 (potential memleak in internal classes's static members)Xinchen Hui2017-12-281-2/+4
| |
* | zend_fcall_info_cache.initialized is removed (zend_fcall_info_cache is ↵Dmitry Stogov2017-12-271-1/+1
| | | | | | | | initialized if zend_fcall_info_cache.function_handler is set).
* | zend_fcall_info_cache.initialized is removed (zend_fcall_info_cache is ↵Dmitry Stogov2017-12-271-4/+3
| | | | | | | | initialized if zend_fcall_info_cache.function_handler is set).
* | Use zend_hash_find() instead of zend_hash_find_ptr() to avoid double checkDmitry Stogov2017-12-271-4/+4
| |
* | Use zend_string_equal*() API for zend_string equality check instead of ↵Dmitry Stogov2017-12-041-2/+1
| | | | | | | | direct memcmp() usage.
* | Use cheaper functionsDmitry Stogov2017-12-041-3/+3
| |
* | Introduced zend_hash_find_ex() that may avoid unnecessary hash value check.Dmitry Stogov2017-11-241-1/+1
| |
* | Prevent reference-counting on persistent zvals (internal constants, default ↵Dmitry Stogov2017-10-301-1/+1
| | | | | | | | | | | | | | properties and constants of internal classes). New macro ZVAL_COPY_OR_DUP() is used perform duplication, if necessary. This should eliminate related race-coditions in ZTS build and prevent reference-counting bugs after unclean shutdown.
* | Merge branch 'master' into rc_debugDmitry Stogov2017-10-301-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (26 commits) Better fix for bug #75451 (Assertion fails while foreach on empty xpath query) Catch with the latest AppVeyor unzip errors Fixed type inference Fix bug #75453 Incorrect reflection on ibase_connect and ibase_pconnect Fix compiler warnings We don't use a specific model for a MAKERNOTE so remove these checks that doesn't do anything anyway Remove these old comments, as for the TODO, there is already a FR for this Re-enable AppVeyor cache make sure run-tests reports exit status upon prerequisite error Remove implicit constants from test case Fix invalid read in zend_use_undefined_constant() Fix invalid read in mb_ord() Remove --with-libmbfl configure option Fixed bug #75451 (Assertion fails while foreach on empty xpath query) Add tests for UConverter::getStandards() convert spaces to tabs in ext/ftp/tests/server.inc Add tests for ftp_rename Fix bug #75434 Wrong reflection for mysqli_fetch_all function Don't optimize input arrays with suffix holes Fix bug #75307 Wrong reflection for openssl_open function ...
| * | Fix invalid read in zend_use_undefined_constant()Nikita Popov2017-10-281-1/+2
| | |
* | | Merge branch 'master' into rc_debugDmitry Stogov2017-10-271-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | * master: Use per-request heap instead of system one Extend zend_register_class_alias_ex() with additional argument to allow creating persistent or per-request aliases Makrk persistent resources and references with GC_PERSISTENT flag
| * | Use per-request heap instead of system oneDmitry Stogov2017-10-271-1/+1
| | |
* | | Encapsulate reference-counting primitives.Dmitry Stogov2017-10-271-1/+1
|/ / | | | | | | | | | | Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead. Added mactros to validate reference-counting (disabled for now). These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.
* | Reverted constant related change (this should be handled togrther with ohter ↵Dmitry Stogov2017-10-261-1/+1
| | | | | | | | constant related places)
* | Removed useless reallocationsDmitry Stogov2017-10-261-1/+1
| |
* | Always use IS_CONSTANT_AST (IS_CONSTANT is removed).Dmitry Stogov2017-10-101-72/+45
| |
* | Use zval_ptr_dtor_nogc() in places where circular zvals are not possibleDmitry Stogov2017-10-091-2/+2
| |
* | Refactored array creation API. array_init() and array_init_size() are ↵Dmitry Stogov2017-09-201-2/+1
|/ | | | converted into macros calling zend_new_array(). They are not functions anymore and don't return any values.
* Value of EG(user_exception_handler) should't relive request boundaryDmitry Stogov2017-07-121-0/+1
|
* Drop dead abstract method check from zend_call_function()Nikita Popov2017-07-041-22/+6
| | | | | | | zend_is_callable() is responsible for doing these kinds of checks already. Aldro drop a piece of obsolete commented out code.
* further sync for vim mode linesAnatol Belski2017-07-041-0/+2
|
* Split zend_init_execute_data() into zend_init_func_execute_data() and ↵Dmitry Stogov2017-06-291-1/+1
| | | | zend_init_code_execute_data()