summaryrefslogtreecommitdiff
path: root/Zend/zend_alloc.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | revert the local speedup approachAnatol Belski2014-10-011-5/+2
| | | |
* | | | approach local pointers in performance sensitive areaskrakjoe2014-09-271-2/+5
| | | |
* | | | cleanup TSRMLS_FETCHAnatol Belski2014-09-261-30/+1
| | | |
* | | | reworked the patch, less new stuff but workyAnatol Belski2014-09-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TLS is already used in TSRM, the way exporting the tsrm cache through a thread local variable is not portable. Additionally, the current patch suffers from bugs which are hard to find, but prevent it to be worky with apache. What is done here is mainly uses the idea from the RFC patch, but - __thread variable is removed - offset math and declarations are removed - extra macros and definitions are removed What is done merely is - use an inline function to access the tsrm cache. The function uses the portable tsrm_tls_get macro which is cheap - all the TSRM_* macros are set to placebo. Thus this opens the way remove them later Except that, the logic is old. TSRMLS_FETCH will have to be done once per thread, then tsrm_get_ls_cache() can be used. Things seeming to be worky are cli, cli server and apache. I also tried to enable bz2 shared and it has worked out of the box. The change is yet minimal diffing to the current master bus is a worky start, IMHO. Though will have to recheck the other previously done SAPIs - embed and cgi. The offsets can be added to the tsrm_resource_type struct, then it'll not be needed to declare them in the userspace. Even the "done" member type can be changed to int16 or smaller, then adding the offset as int16 will not change the struct size. As well on the todo might be removing the hashed storage, thread_id != thread_id and linked list logic in favour of the explicit TLS operations.
* | | | native tls initial patchkrakjoe2014-09-201-2/+2
|/ / /
* | | make the return value more logicAnatol Belski2014-09-201-1/+1
| | | | | | | | | | | | as if clz() were returning 32 on empty size
* | | make use of intrinsics available with VS for bitset lookupsAnatol Belski2014-09-201-0/+35
| | |
* | | Expose zend_safe_address() and use it in zend_arena_calloc()Dmitry Stogov2014-09-181-111/+5
| | |
* | | better error messages in ZMM on WindowsAnatol Belski2014-09-161-2/+30
| | |
* | | emalloc() must not return NULLDmitry Stogov2014-09-161-0/+14
| | |
* | | Fixed comments and removed useless code.Dmitry Stogov2014-09-081-2/+1
| | |
* | | Revert "Move safe_address into zend_multiply.h"Nikita Popov2014-09-061-4/+124
| | | | | | | | | | | | | | | | | | | | | This reverts commit 43b02e169c718335a82b8c90c3252194f988659a. I'm getting symbol resolution issues for zend_error_noreturn in the opcache.so, so reverting this for now.
* | | Move safe_address into zend_multiply.hNikita Popov2014-09-061-124/+4
| | | | | | | | | | | | | | | | | | | | | This allows reuse in zend_arena_calloc. Also renamed the function to zend_safe_address as it's no longer private to the allocator.
* | | fix number formatAnatol Belski2014-08-281-2/+2
| | |
* | | fixed bitset computing on win64 buildAnatol Belski2014-08-261-13/+12
| | |
* | | Fixed zero-size allocation in debug buildDmitry Stogov2014-08-261-0/+2
| | |
* | | temporary fix for win64Anatol Belski2014-08-261-1/+2
| | |
* | | Replaced Zend Memory ManagerDmitry Stogov2014-08-261-2107/+1690
| | |
* | | several signature and data type fixesAnatol Belski2014-08-261-2/+2
| | |
* | | master renames phase 3Anatol Belski2014-08-251-4/+4
| | |
* | | master renames phase 2Anatol Belski2014-08-251-1/+1
| | |
* | | master renames phase 1Anatol Belski2014-08-251-23/+23
| | |
* | | further fixes on coreAnatol Belski2014-08-161-5/+5
| | |
* | | first shot on merging the core fro the int64 branchAnatol Belski2014-08-161-22/+22
| | |
* | | Revert "stash" (pushed by accident)Xinchen Hui2014-07-181-2007/+2008
| | | | | | | | | | | | This reverts commit a18bf5fc9303e2739ee7026bdb3bbf272bf4baa8.
* | | stashXinchen Hui2014-07-161-2008/+2007
| | |
* | | Simplify call-frame handlingDmitry Stogov2014-07-071-1/+1
| | |
* | | Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are ↵Dmitry Stogov2014-07-031-1/+1
| | | | | | | | | | | | executing something.
* | | Removed EG(active_op_array) and use corresponding value from ↵Dmitry Stogov2014-07-021-3/+13
| | | | | | | | | | | | EG(current_execute_data)
* | | Use better data structures (incomplete)Dmitry Stogov2014-02-101-2/+3
| | |
* | | Merge branch 'PHP-5.6'Xinchen Hui2014-01-031-1/+1
|\ \ \
| * | | Bump yearXinchen Hui2014-01-031-1/+1
| |/ /
* | | Merge branch 'PHP-5.6'Dmitry Stogov2013-12-261-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-5.6: Fixed ZEND_MM_MEM_TYPE=mmap_zero
| * | Fixed ZEND_MM_MEM_TYPE=mmap_zeroDmitry Stogov2013-12-261-1/+1
| | |
* | | Eliminated the TSRMLS_FETCH() in zend_set_memory_limit()Kalle Sommer Nielsen2013-11-181-3/+1
|/ /
* | Fix assembly of safe_address() for aarch64Ard Biesheuvel2013-07-041-1/+1
| |
* | fix assembly of safe_address() for x86 and x86_64Nuno Lopes2013-07-031-2/+2
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Gustavo Lopes2013-04-301-4/+13
|\ \ | |/ | | | | | | | | | | | | * PHP-5.4: Fix bug #64729: compilation failure on x32 Conflicts: Zend/zend_alloc.c
| * Fix bug #64729: compilation failure on x32Gustavo Lopes2013-04-301-4/+14
| |
| * Happy New YearXinchen Hui2013-01-011-1/+1
| |
* | Low-level ARM optimizationsArd Biesheuvel2013-02-111-0/+45
| | | | | | | | | | - added ARM versions of zend_mm_high_bit()/zend_mm_low_bit() - improved safe_address()
* | Improve x86 inline assemblerArd Biesheuvel2013-02-111-5/+5
| | | | | | | | | | | | | | - added cc annotation to inline asm that clobbers the condition flags - remove hardcoded constants (IS_LONG,IS_DOUBLE) - remove hardcoded offsets (zval->value, zval->type)
* | Happy New YearXinchen Hui2013-01-011-1/+1
| |
* | Merge branch 'PHP-5.4'Stanislav Malyshev2012-09-171-3/+3
|\ \ | |/ | | | | | | | | | | * PHP-5.4: update news Support building PHP with the native client toolchain. test should fail
| * Support building PHP with the native client toolchain.Stuart Langley2012-09-171-3/+3
| | | | | | | | | | | | | | | | | | | | The native client compiler defines the C macro __x86_64__, but the size of an unsigned int is only 4 bytes. This causes the compile to fail because the inline asm code compiled is for an 8 byte unsigned int. Add the correct defines to fix this. As detailed in: http://code.google.com/p/nativeclient/issues/detail?id=2255
| * - Year++Felipe Pena2012-01-011-1/+1
| |
| * Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-4/+4
| |
| * Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence)Dmitry Stogov2011-09-131-1/+1
| |
| * Zend Signal HandlingIlia Alshanetsky2011-06-221-14/+50
| |
| * MFH: Fixed bug #54957 (Memleak in alloc_globals_ctor)Dmitry Stogov2011-05-311-0/+3
| |