summaryrefslogtreecommitdiff
path: root/Zend/zend_hash.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-04-161-0/+3
|\
| * Fix HT flags copying wrt iterator countNikita Popov2019-04-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | HT_FLAGS() includes the full flag word, including the iterator count. When we're fully reassigning it, we need to make sure that we either really do want to copy the iterator count (as in some cases in array.c) or we need to mask only the actual flag byte. Add an assert to hash_iterators_del() to make sure the iterator count is non-zero (which is how I ran into this) and make sure that the iterator count is correctly preserved during array splicing.
| * Future-proof email addressesZeev Suraski2018-11-011-3/+3
| |
* | Fix typos in code comments in Zend/ [skip ci]Tyson Andre2019-02-181-2/+2
| |
* | 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
| |
* | Revert HASH_FLAG_INITIALIZED into HASH_FLAG_UNINITIALIZED.Dmitry Stogov2018-12-281-3/+3
| |
* | Use HT_IS_INITIALIZED() and HT_INVALIDATE() macros instead of hackish ↵Dmitry Stogov2018-12-271-0/+7
| | | | | | | | HT_FLAGS assumtions.
* | Update email addresses. We're still @Zend, but future proofing it...Zeev Suraski2018-11-011-3/+3
| |
* | Turn zend_hash_exists() into inline functionDmitry Stogov2018-09-191-3/+14
| |
* | Perform run-time binding reusing HashTable bucket (without new bucket ↵Dmitry Stogov2018-08-291-0/+2
|/ | | | insertion).
* 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-57/+25
| | | | | Removed useless filename and lineno arguments, used in DEBUG build. The patch doesn't break source compatibility of public API (only binary compatibility).
* Improved "Fast Shutdown".Dmitry Stogov2018-07-171-0/+1
|
* Removed "dead" code (zend_hash_update() never fails)Dmitry Stogov2018-06-011-18/+6
|
* Optimize zend_new_array() for special case, when size <= HT_MIN_SIZEDmitry Stogov2018-05-311-1/+15
|
* Eliminate useless checksDmitry Stogov2018-04-041-7/+14
|
* Optimize zend_hash_real_init()Dmitry Stogov2018-03-231-0/+2
|
* Improve HashTable iterators handling:Dmitry Stogov2018-03-221-1/+4
| | | | | | - Avoid iterators check/update on each HashTable update opration - Keep position equal (or above) nNumUsed instead of HT_INVALID_IDX - Fixed iterators handling in array_unshift()
* Added expectationDmitry Stogov2018-03-061-1/+1
|
* Merge HashTable.u.v.consistency into HashTable.u.v.flagsDmitry Stogov2018-01-221-0/+1
|
* Introduce mcros to access HashTable iterators counterDmitry Stogov2018-01-221-1/+12
|
* Access HashTable.u.flags through HT_FLAGS() macro.Dmitry Stogov2018-01-221-8/+10
|
* Get rid of IS_TYPE_COPYABLE.Dmitry Stogov2018-01-191-1/+1
|
* Strength reductionDmitry Stogov2018-01-101-3/+5
|
* Added expectationDmitry Stogov2018-01-101-1/+1
|
* Trailing whitespaces on ZendGabriel Caruso2018-01-041-5/+5
| | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* year++Xinchen Hui2018-01-021-1/+1
|
* Use cheaper APIXinchen Hui2017-12-181-0/+13
|
* Fix bug #75677: Drop fastcall attribute on variadic functionLi-Wen Hsu2017-12-151-1/+1
| | | | | | Fastcall generally doesn't make sense on variadic functions. For clang in particular this eliminates a "fastcall calling convention ignored on variadic function" warning.
* Introduced zend_hash_find_ex() that may avoid unnecessary hash value check.Dmitry Stogov2017-11-241-0/+22
|
* Added zend_hash_add_new_mem/zend_hash_str_add_new_mem. Use them to add new ↵Dmitry Stogov2017-10-311-0/+26
| | | | elements into PCRE cache (we checked the existance before).
* Avoid HashTable allocations for empty arrays (using zend_empty_array).Dmitry Stogov2017-10-241-0/+9
|
* HASH_FLAG_PERSISTENT renamed into IS_ARRAY_PERSISTENT and moved into ↵Dmitry Stogov2017-10-061-8/+7
| | | | GC_FLAGS (to be consistent with IS_STR_PERSISTENT).
* Refactored recursion pretectionDmitry Stogov2017-10-061-13/+1
|
* Refactored array creation API. array_init() and array_init_size() are ↵Dmitry Stogov2017-09-201-4/+11
| | | | converted into macros calling zend_new_array(). They are not functions anymore and don't return any values.
* Merge branch 'PHP-7.1' into PHP-7.2Sara Golemon2017-09-071-1/+1
|\ | | | | | | | | * PHP-7.1: Fix typo in zend_symtable_add_new() API name
| * Merge branch 'PHP-7.0' into PHP-7.1Sara Golemon2017-09-071-1/+1
| |\ | | | | | | | | | | | | * PHP-7.0: Fix typo in zend_symtable_add_new() API name
| | * Fix typo in zend_symtable_add_new() API nameSara Golemon2017-09-071-1/+1
| | |
* | | further sync for vim mode linesAnatol Belski2017-07-041-0/+2
| | |
* | | Extract zend_get_callable_name() APINikita Popov2017-06-251-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | Instead of interleaving this inside zend_is_callable(), implement this in a separate function instead. Also add _deref() hash APIs. I've wanted these for a while, and this is another place where they're useful, so finally do it...
* | | Reuse "nIndex"Dmitry Stogov2017-06-231-1/+1
| | |
* | | shutdown_executor() refactoring (reuse opcache fast request shutdown code)Dmitry Stogov2017-06-221-4/+32
| | |
* | | Merge branch 'PHP-7.1'Nikita Popov2017-02-021-0/+10
|\ \ \ | |/ /
| * | Merge branch 'PHP-7.0' into PHP-7.1Nikita Popov2017-02-021-0/+10
| |\ \ | | |/
| | * BUG #73998: Numeric properties are not accessible from get_object_varsMitch Hagstrand2017-02-021-0/+10
| | |
| | * Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
| | |
| * | Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
| | |
* | | Enable HT RC assertions with escape-hatchNikita Popov2017-01-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | HT functions that modify the array now assert that rc=1. As we don't respect this COW constraint everywhere, either for a good reason or because fixing it would take more work, we provide an escape hatch in the form of HT_ALLOW_COW_VIOLATION(ht). If this macro is called assertions on this ht are disabled. The macro is a no-op in release mode.
* | | Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
| | |