Dmitry Stogov
fd453aa1d1
Intern string constant values
2017-12-07 12:27:16 +03:00
Dmitry Stogov
74c84cd7f0
Use zend_string_equal*() API for zend_string equality check instead of direct memcmp() usage.
2017-12-04 17:17:02 +03:00
Dmitry Stogov
e221e7379e
Avoid function duplication
2017-11-30 16:23:15 +03:00
Nikita Popov
95e9cc2871
Backport some printf() fixes to 7.2
2017-11-16 21:26:33 +01:00
Nikita Popov
26f8fc833b
Enable and fix printf() format warnings
...
Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.
2017-11-16 21:15:36 +01:00
Dmitry Stogov
f2b91b31e4
Switch back from "request" interned strings storage to "permanent" in MSHUTDOWN
2017-11-02 23:29:21 +03:00
Dmitry Stogov
8897c80956
Use interned strings for stream transports
2017-11-01 02:39:09 +03:00
Dmitry Stogov
bbfd0df9d3
Use interned strings for persistent stream wrappers and filters
2017-10-31 18:51:35 +03:00
Dmitry Stogov
998794f584
Always calculate calculate string hash value on attempt of interning
2017-10-31 15:35:44 +03:00
Dmitry Stogov
974a8f8ad2
Use internet strings for EG(ini_entries)
2017-10-31 02:16:46 +03:00
Dmitry Stogov
49ea143bbd
Encapsulate reference-counting primitives.
...
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.
2017-10-27 01:28:58 +03:00
Anatol Belski
f24e597c85
Constify key access for hash and formal params
...
Keys created in shared memory and won't be modified and are free'd on
restart. Otherwise, keys passed to functions should not be modified,
too.
2017-10-19 12:07:08 +02:00
Dmitry Stogov
272f5a1716
Extend zend_string API to avoid reallocation in zend_string_init_interned()
2017-10-19 00:02:56 +03:00
Dmitry Stogov
e87e62cc6f
Moved ZCG(function_table) back into accel_acrivate. It should be unique per thread.
2017-10-18 18:26:30 +03:00
Anatol Belski
5315cea6e2
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Backport 7ff13badda
into 7.0+
2017-10-18 16:27:31 +02:00
Anatol Belski
53d8775015
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Backport 7ff13badda
into 7.0+
2017-10-18 16:24:23 +02:00
Dmitry Stogov
b4903aef16
Move a part of opcache initialization into post_startup phase (when all extensions already loaded).
2017-10-18 17:18:54 +03:00
Anatol Belski
d82805f097
Backport 7ff13badda
into 7.0+
2017-10-18 16:02:56 +02:00
Dmitry Stogov
7ff13badda
Fixed required SHM memeory size calculation for scripts when opcache.revalidate_path is set.
2017-10-18 14:26:44 +03:00
Dmitry Stogov
1dd224dd12
Reuse interned strings from opcache SHM, if possible.
2017-10-16 19:20:16 +03:00
Peter Kokot
3644cc6111
Remove some old apache2filter occurrences
...
apache2filter was supported in PHP <= 5.6. This patch removes some old
apache2filter occurrences. Also FreeBSD warning therefore is not needed
anymore when building PHP with apache2filter and in later versions don't
need to set the --with-tsrm-pth option.
2017-10-08 17:48:47 +02:00
Anatol Belski
49d9b3013f
Move cwd_state and path related routines to size_t
...
Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.
basic move tsrm_realpath_r to size_t
fix conditions and sync with affected places
touch ocurrences of php_sys_readlink usage
follow up on phar path handling
remove duplicated check
move zend_resolve_path and related pieces to size_t
touch yet resolve path related places
remove cast
missing pieces
missing piece
yet cleanups for php_sys_readlink for ssize_t
fix wrong return
2017-07-27 20:11:21 +02:00
Kalle Sommer Nielsen
bfdd22a3de
Remove old references to SAPIs and extensions no longer in the core
2017-07-19 09:09:24 +02:00
Tom Van Looy
04fb3f28ff
Remove superfluous semicolons
2017-06-26 00:23:25 +02:00
Dmitry Stogov
f25ecdacf8
shutdown_executor() refactoring (reuse opcache fast request shutdown code)
2017-06-22 01:45:28 +03:00
Dmitry Stogov
9b201aec07
Setting CG(unclean_shutdown) in fast shutdown doesn't make a lot of sense (it was set to prevent memory leak messages, but we doesn't check memory leaks in RELEASE build anyway).
2017-06-21 16:09:21 +03:00
Dmitry Stogov
c16f954ff1
Clear alocated memory blocks, only if this is really necessary.
2017-06-21 10:37:54 +03:00
Dmitry Stogov
db4561bfff
Introduced "zif_handler" type (zif = zend internal function).
2017-06-08 16:52:39 +03:00
Xinchen Hui
93a5783095
Merge branch 'PHP-7.1'
...
* PHP-7.1:
Update NEWS
Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:53 +08:00
Xinchen Hui
19befb1ca2
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:23 +08:00
Xinchen Hui
60912e66c8
Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:42:27 +08:00
Xinchen Hui
62a0342531
Merge branch 'PHP-7.1'
...
* PHP-7.1:
Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
2017-05-16 13:22:51 +08:00
Xinchen Hui
e04b91e6e2
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
2017-05-16 13:22:43 +08:00
Xinchen Hui
89dd7fb328
Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
...
Yeah, no test script is provided.. I got some troubles to make a one
2017-05-16 13:22:08 +08:00
Anatol Belski
fe8112e8f8
drop redundant checks
2017-03-07 15:42:19 +01:00
Anatol Belski
2cfd64cad8
move to hash API
2017-03-07 13:41:12 +01:00
Anatol Belski
c698299550
Interned strings unification for TS/NTS
...
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.
2017-03-04 10:39:13 +01:00
Anatol Belski
04f150679c
Merge branch 'PHP-7.1'
...
* PHP-7.1:
move id initialization into ctor
2017-01-30 11:42:46 +01:00
Anatol Belski
f2c99e201e
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
move id initialization into ctor
2017-01-30 11:41:59 +01:00
Anatol Belski
4b1afc829c
move id initialization into ctor
2017-01-30 11:40:23 +01:00
Anatol Belski
2370183429
Merge branch 'PHP-7.1'
...
* PHP-7.1:
fix system id initialization for multiple threads
2017-01-30 01:59:02 +01:00
Anatol Belski
2a5a310446
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
fix system id initialization for multiple threads
2017-01-30 01:57:27 +01:00
Anatol Belski
2b7e5468c9
fix system id initialization for multiple threads
2017-01-30 01:54:36 +01:00
Alexander Polyakov
a4accc0e3e
opcache: print restart reason
2017-01-13 21:34:11 +00:00
Alexander Polyakov
d79b82d8ae
opcache: print restart reason
2017-01-13 21:33:58 +00:00
Alexander Polyakov
6cca4fcd59
opcache: print restart reason
2017-01-13 21:33:19 +00:00
Dmitry Stogov
141d1ba980
Introduced "zend_type" - an abstraction for type-hinting representation.
2017-01-13 11:37:46 +03:00
Sammy Kaye Powers
dac6c639bb
Update copyright headers to 2017
2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9
Update copyright headers to 2017
2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce
Update copyright headers to 2017
2017-01-02 09:30:12 -06:00