Commit graph

776 commits

Author SHA1 Message Date
Dmitry Stogov
83f98f7340 Don't store values of PHP_SAPI and PHP_BINARY in file cache, because it may be used by different SAPI. 2018-04-28 01:20:49 +03:00
Dmitry Stogov
cb464a53c8 Use "fastcall" calling convention 2018-04-04 01:12:59 +03:00
Anatol Belski
3c6f552371 Disable function call under address sanitizer
AddressSanitizer seems not to function properly with suppressions. The
default value is still sufficient for test, thus unblock testing by
disabling the function call under AddressSanitizer.
2018-03-11 23:08:27 +01:00
Dmitry Stogov
44e1d2f8a9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 03:00:46 +03:00
Dmitry Stogov
020a02ef9d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 02:47:01 +03:00
Dmitry Stogov
50949c9332 Replaced usafe reference from SHM to process memory with SHM to SHM reference. 2018-03-06 02:43:26 +03:00
Dmitry Stogov
f32b7dbc43 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:21:20 +03:00
Dmitry Stogov
a8fbb15311 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:15:38 +03:00
Dmitry Stogov
350082ed71 Fixed "opcache.file_cache_fallback" mode.
It's not safe to change value of ZCG(accel_directives).file_cache_only, becuse it might be altered by INI subsystem.
Use global variable instead.
2018-03-05 16:01:43 +03:00
Dmitry Stogov
6f483dc94c Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited) 2018-02-28 00:52:12 +03:00
Xinchen Hui
5c05870ef6 Optimized fast_memcpy with AVX instructions
Great thanks to welting for helping :)
2018-02-15 00:18:47 +08:00
Gabriel Caruso
2d48d734a2 Fix some misspellings 2018-02-06 16:59:00 +01:00
Dmitry Stogov
c9034c3b33 Get rid of zend_op_array.early_binding 2018-01-11 19:15:52 +03:00
Xinchen Hui
a76eeea736 Merge branch 'PHP-7.2'
* PHP-7.2:
  Happy new year (Update copyright to 2018)

Conflicts:
	ext/phar/LICENSE
2018-01-03 16:02:15 +08:00
Xinchen Hui
0e62639d28 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Happy new year (Update copyright to 2018)
2018-01-03 16:00:34 +08:00
Lior Kaplan
fbfdd1e1c4 Happy new year (Update copyright to 2018) 2018-01-02 23:42:29 +02:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Nikita Popov
b6581038eb Use GC_FLAGS_SHIFT in a few more places
Rather than hardcoding 8.
2017-12-30 23:40:25 +01:00
Dmitry Stogov
bee5bc78ed Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75720 (File cache not populated after SHM runs full)
2017-12-28 14:10:01 +03:00
Dmitry Stogov
9188f1d861 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75720 (File cache not populated after SHM runs full)
2017-12-28 14:08:38 +03:00
Dmitry Stogov
60b2d67828 Fixed bug #75720 (File cache not populated after SHM runs full) 2017-12-28 14:08:12 +03:00
Anatol Belski
fc46c4b106 Avoid strlen call 2017-12-19 15:42:34 +01:00
David Carlier
e251d9a6b2 Fix some format specificers
time_t is of 64 bits type on some systems as well.
2017-12-16 15:27:32 +01:00
Dmitry Stogov
0acda9103b Improved shared interned string table implementation (use less memory and more CPU cache friendly) 2017-12-08 19:55:12 +03:00
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