Anatol Belski
d11734b4b0
reworked the patch, less new stuff but worky
...
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.
2014-09-25 18:48:27 +02:00
krakjoe
b3aebda9ea
native tls initial patch
2014-09-20 20:22:14 +01:00
Anatol Belski
ea6da30396
make the return value more logic
...
as if clz() were returning 32 on empty size
2014-09-20 02:14:35 +02:00
Anatol Belski
7b4e8c64e0
make use of intrinsics available with VS for bitset lookups
2014-09-20 01:43:06 +02:00
Dmitry Stogov
e439349e58
Expose zend_safe_address() and use it in zend_arena_calloc()
2014-09-18 13:31:25 +04:00
Anatol Belski
3329d54cd9
better error messages in ZMM on Windows
2014-09-16 12:27:25 +02:00
Dmitry Stogov
13be4a5a4b
emalloc() must not return NULL
2014-09-16 13:53:26 +04:00
Dmitry Stogov
be835b2d70
Fixed comments and removed useless code.
2014-09-08 11:08:05 +04:00
Nikita Popov
f4f9b54983
Revert "Move safe_address into zend_multiply.h"
...
This reverts commit 43b02e169c
.
I'm getting symbol resolution issues for zend_error_noreturn in the
opcache.so, so reverting this for now.
2014-09-06 22:12:37 +02:00
Nikita Popov
43b02e169c
Move safe_address into zend_multiply.h
...
This allows reuse in zend_arena_calloc.
Also renamed the function to zend_safe_address as it's no longer
private to the allocator.
2014-09-06 14:03:59 +02:00
Anatol Belski
6890830ec0
fix number format
2014-08-28 12:07:39 +02:00
Anatol Belski
cd8bbfa149
fixed bitset computing on win64 build
2014-08-26 20:43:33 +02:00
Dmitry Stogov
cb37fe1aae
Fixed zero-size allocation in debug build
2014-08-26 21:32:20 +04:00
Anatol Belski
d285e346da
temporary fix for win64
2014-08-26 16:27:14 +02:00
Dmitry Stogov
661f90d4d1
Replaced Zend Memory Manager
2014-08-26 16:21:58 +04:00
Anatol Belski
b63ab83256
several signature and data type fixes
2014-08-26 13:20:21 +02:00
Anatol Belski
4d997f63d9
master renames phase 3
2014-08-25 20:22:49 +02:00
Anatol Belski
6f9f0bf205
master renames phase 2
2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
5bb25776a0
further fixes on core
2014-08-16 15:34:04 +02:00
Anatol Belski
8ee2a4a9b5
first shot on merging the core fro the int64 branch
2014-08-16 11:16:11 +02:00
Xinchen Hui
6cc487df2c
Revert "stash" (pushed by accident)
...
This reverts commit a18bf5fc93
.
2014-07-18 16:27:31 +08:00
Xinchen Hui
a18bf5fc93
stash
2014-07-16 16:35:48 +08:00
Dmitry Stogov
5aa91be509
Simplify call-frame handling
2014-07-07 15:50:44 +04:00
Dmitry Stogov
0a77dcd4b9
Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.
2014-07-03 01:02:25 +04:00
Dmitry Stogov
4b09dd69e6
Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
2014-07-02 22:03:21 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
0f53e37494
Merge branch 'PHP-5.6'
2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772
Bump year
2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0
Bump year
2014-01-03 11:04:26 +08:00
Dmitry Stogov
ef56cfb991
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Fixed ZEND_MM_MEM_TYPE=mmap_zero
2013-12-26 11:53:03 +04:00
Dmitry Stogov
6414fe283e
Fixed ZEND_MM_MEM_TYPE=mmap_zero
2013-12-26 11:51:32 +04:00
Kalle Sommer Nielsen
9e3551ba1f
Eliminated the TSRMLS_FETCH() in zend_set_memory_limit()
2013-11-18 01:36:17 +01:00
Ard Biesheuvel
47e21a2c40
Fix assembly of safe_address() for aarch64
2013-07-04 10:25:38 +02:00
Nuno Lopes
c652cc93ec
fix assembly of safe_address() for x86 and x86_64
2013-07-03 17:56:02 -04:00
Nuno Lopes
40cbceaf71
fix assembly of safe_address() for x86 and x86_64
2013-07-03 17:55:18 -04:00
Gustavo Lopes
865cc3a800
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fix bug #64729 : compilation failure on x32
Conflicts:
Zend/zend_alloc.c
2013-04-30 19:36:08 +02:00
Gustavo Lopes
514afd67b6
Fix bug #64729 : compilation failure on x32
2013-04-30 19:28:24 +02:00
Ard Biesheuvel
e2453276e9
Low-level ARM optimizations
...
- added ARM versions of zend_mm_high_bit()/zend_mm_low_bit()
- improved safe_address()
2013-02-11 14:36:58 +01:00
Ard Biesheuvel
aa12cdc361
Improve x86 inline assembler
...
- 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)
2013-02-11 13:53:27 +01:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08:00
Stanislav Malyshev
44e3a9be7e
Merge branch 'PHP-5.4'
...
* PHP-5.4:
update news
Support building PHP with the native client toolchain.
test should fail
2012-09-17 15:58:48 -07:00
Stuart Langley
2e24d9a2b3
Support building PHP with the native client toolchain.
...
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
2012-09-17 15:52:55 -07:00
Nuno Lopes
58d2203317
add support for the alloc_size __attribute__ (through ZEND_ATTRIBUTE_ALLOC_SIZE and ZEND_ATTRIBUTE_ALLOC_SIZE2
...
requires GCC >= 4.3 or clang >= 3.2 to perform anything useful
2012-05-23 22:18:01 -04:00
Derick Rethans
32edc70fe1
CS fixes.
2012-01-29 11:17:07 +00:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Dmitry Stogov
4a25a7740d
Fixed ZE specific compile warnings (Bug #55629 )
2011-09-13 13:29:35 +00:00