summaryrefslogtreecommitdiff
path: root/Zend/zend_string.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove old SVN keywords substitutionsPeter Kokot2018-06-161-2/+0
| | | | | | | | When the PHP source code was versioned in Subversion, there was possible to substitute certain keywords such as $Id$ with revision number, last change time and author name. Such approach is not used in Git so this patch removes these outdated artifacts from source code files.
* micro optimizationDmitry Stogov2018-05-081-0/+5
|
* Use "fastcall" calling conventionDmitry Stogov2018-04-041-12/+12
|
* Optimize zend_hash_real_init()Dmitry Stogov2018-03-231-1/+1
|
* Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to ↵Dmitry Stogov2018-02-281-1/+1
| | | | GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited)
* Fixed string comparison (it may fail in case of not null-terminated strings)Dmitry Stogov2018-01-311-2/+2
|
* Merge branch 'PHP-7.2'Dmitry Stogov2018-01-261-0/+8
|\ | | | | | | | | * PHP-7.2: Restore initial values on graceful server restart.
| * Restore initial values on graceful server restart.Dmitry Stogov2018-01-261-0/+6
| |
| * year++Xinchen Hui2018-01-021-1/+1
| |
* | year++Xinchen Hui2018-01-021-1/+1
| |
* | Fixed possible local assembler labels conflicts.Dmitry Stogov2017-12-201-26/+26
| |
* | Fix movzb operand sizeNikita Popov2017-12-061-2/+2
| |
* | Use local labelsDmitry Stogov2017-12-061-26/+26
| |
* | Fixed gcc assembler constaints.Dmitry Stogov2017-12-061-29/+99
| | | | | | | | Added less efecient replacement functions for valgrind, to prevent warnings about uninitialized tail.
* | Use unsigned comparison instructionsDmitry Stogov2017-12-051-4/+4
| |
* | Implemented x86 and x86_64 assembler functions for zend_string equality check.Dmitry Stogov2017-12-041-0/+72
| | | | | | | | They take into account zend_string layout (value alignment and trailing padding) and perform comparison by double or quad words.
* | Use zend_string_equal*() API for zend_string equality check instead of ↵Dmitry Stogov2017-12-041-1/+16
| | | | | | | | direct memcmp() usage.
* | Don't intern strings in-place if their refcoung greater than 1Dmitry Stogov2017-11-031-0/+16
| |
* | Switch back from "request" interned strings storage to "permanent" in MSHUTDOWNDmitry Stogov2017-11-021-7/+17
| |
* | 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.
* | Fix datatypeAnatol Belski2017-10-191-2/+2
| |
* | Extend zend_string API to avoid reallocation in zend_string_init_interned()Dmitry Stogov2017-10-191-7/+58
|/
* further sync for vim mode linesAnatol Belski2017-07-041-0/+2
|
* move to hash API for interned strings ht managementAnatol Belski2017-03-071-42/+4
|
* Interned strings unification for TS/NTSAnatol Belski2017-03-041-145/+157
| | | | | | | | | | | | | Hereby, interned strings are supported in thread safe PHP. The patch implements two types of interned strings - interning per process, strings are not freed till process end - interning per request, strings are freed at request end There is no runtime interning. With Opcache, all the permanent iterned strings are copied into SHM on startup, additional copying into SHM might happen on demand.
* Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
|
* further normalizations, uint vs uint32_tAnatol Belski2016-11-261-5/+5
| | | | | | fix merge mistake yet one more replacement run
* Merge branch 'PHP-7.0' into PHP-7.1Anatol Belski2016-10-131-12/+0
|\ | | | | | | | | | | * PHP-7.0: use already exported symbol Revert "export symbol missing by phpdbg"
| * Revert "export symbol missing by phpdbg"Anatol Belski2016-10-131-12/+0
| | | | | | | | | | | | This reverts commit 611ab7fe5b9fe41de56c25b1d348a866794b1fb1. Overseen strpprintf is there
* | Merge branch 'PHP-7.0' into PHP-7.1Anatol Belski2016-10-121-0/+12
|\ \ | |/ | | | | | | * PHP-7.0: export symbol missing by phpdbg
| * export symbol missing by phpdbgAnatol Belski2016-10-121-0/+12
| |
* | HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is ↵Dmitry Stogov2016-06-201-6/+0
| | | | | | | | | | | | | | completely useless now. Historicaly, these macros were introduced as a protection from execution timeout handling, but we don't need them anymore after "safe execution timeout" implementation. These macros are still useful to protect from termination during inner process data modification, because of OS signals (e.g. SIGTERM during OPcache SHM update).
* | cast const awayXinchen Hui2016-06-111-1/+1
| |
* | fix dangling pointer, phpdbg reveals itAnatol Belski2016-06-021-0/+2
| |
* | fix known interned strings init with TS per requestAnatol Belski2016-06-021-7/+16
| |
* | Intern some known (and offten used) strings.Dmitry Stogov2016-05-121-0/+40
|/
* bump year which is missed in rev 49493a2Xinchen Hui2016-01-021-1/+1
|
* Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-3/+3
| | | | semantick changes).
* Improved zend_string API (Francois Laupretre)Dmitry Stogov2015-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit d96eab8d79b75ac83d49d49ae4665f948d15a804 Author: Francois Laupretre <francois@tekwire.net> Date: Fri Jun 26 01:23:31 2015 +0200 Use the new 'ZSTR' macros in the rest of the code. Does not change anything to the generated code (thanks to compat macros) but cleaner. commit b3526439104ac7a89a8e0c79dbebf33b22bd01b8 Author: Francois Laupretre <francois@tekwire.net> Date: Thu Jun 25 13:45:06 2015 +0200 Improve zend_string API Add missing methods
* Fixed interned string leaks after new STATIC_KEY flag is introducedXinchen Hui2015-04-281-2/+1
|
* Fixed zend_string related inconsistenciesDmitry Stogov2015-04-211-0/+1
|
* Changed HashTable layout:Dmitry Stogov2015-03-131-28/+34
| | | | | | | Removed HashTable->arHash (reduced memory consumption). Now hash slots may be accessed using HT_HASH() macro. Hash slotas are allocated together with Buckets (before them) and lay in reverse order from HashTable->arData base address (see comments in Zend/zend_types.h) Indexes in hash table and conflict resolution chains (Z_NEXT) may be stored as indeces or offsets in bytes, depending on system (32 or 64-bit). HashTable data filelds are reordered to keep the most useful for zend_hash_find() data in the same CPU cache line.
* Limit HashTable size to avoid integer overflow checksDmitry Stogov2015-02-131-1/+1
|
* bump yearXinchen Hui2015-01-151-1/+1
|
* trailing whitespace removalStanislav Malyshev2015-01-101-5/+5
|
* first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-12/+12
|
* fix the empty_strings SAPI shutdown leak in TS buildAnatol Belski2014-10-061-12/+1
| | | | | | | still the NTS variant is somewhat different as it needs zend_new_interned_string_int because the normal callbacks might be not initialized, but at least no leaks anymore and some more structure
* fix leaking the empty_string in TS buildsAnatol Belski2014-10-061-1/+4
|
* that's not char * but zend_string *Anatol Belski2014-09-181-1/+1
|
* Fix compiler warningsNikita Popov2014-08-251-0/+2
|