Dmitry Stogov
5ac3580b9b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.
2019-07-19 10:10:50 +03:00
Dmitry Stogov
b065fbde19
ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.
2019-07-19 10:09:26 +03:00
Christoph M. Becker
54401001a8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Allow multiple cache instances per user/host on Windows
2019-07-17 19:52:49 +02:00
Christoph M. Becker
e2ed7e6716
Allow multiple cache instances per user/host on Windows
...
Formerly, there was at most a single OPcache instance per user and the
so called system ID (which is determined from the PHP version).
Sometimes multiple OPcaches might be desired, though, particularly for
unrelated CLI scripts, which may even be necessary (e.g. for our test
suite in parallel mode).
We therefore introduce a new INI directive `opcache.cache_id` which
allows to configure independent OPcache instances for the same user.
We also use `GetUserNameW()` instead of `php_win32_get_username()`,
because the latter retrieves the user name encoded in the
`default_charset`, which can obviously yield different results for
different charsets, leading to OPcache "incompatibilities". Slightly
worse, some characters may not even be encodeable in the
`default_charset` and would be replaced by question marks, which could
result in different users sharing the same OPcache.
We also refactor, and re-use existing APIs to avoid duplicated code.
2019-07-17 19:51:07 +02:00
Nikita Popov
8fc58a1a1d
Merge branch 'PHP-7.4'
2019-07-01 11:14:54 +02:00
Nikita Popov
da06f7f383
Msan: Unpoison buffer written by file cache
...
It would be great if this were fully initialized, but it's not
really a problem either (as long as we don't care about reproducible
file cache), so ignore this for now.
2019-07-01 11:14:28 +02:00
Dmitry Stogov
1707f6645a
Additional fix for bug #78185 (File cache no longer works)
2019-06-21 10:06:35 +03:00
Christoph M. Becker
360b58e43b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78189 : file cache strips last character of uname hash
2019-06-20 18:02:01 +02:00
Christoph M. Becker
2b4fc9eb9c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78189 : file cache strips last character of uname hash
2019-06-20 18:01:02 +02:00
Christoph M. Becker
a85254b898
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78189 : file cache strips last character of uname hash
2019-06-20 17:59:59 +02:00
Christoph M. Becker
fcd6f2de60
Fix #78189 : file cache strips last character of uname hash
...
We must not forget to increase `len` by one to cater to the directory
separator.
2019-06-20 17:58:32 +02:00
Joe Watkins
41067a22e9
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Turn system_id into a true global
2019-06-18 10:27:50 +02:00
Christoph M. Becker
04a6aac59b
Turn system_id into a true global
...
The system_id is identical for all threads and can be computed during
module startup, so there is no need to calculate and store it for each
thread.
2019-06-18 10:27:35 +02:00
Nikita Popov
e4fae9c061
Merge branch 'PHP-7.4'
2019-06-11 13:16:38 +02:00
Nikita Popov
89b2d88659
Register class before fetching parent
...
We want the class declaration to be available while compiling the
parent class.
2019-06-11 13:09:33 +02:00
Anatol Belski
5477d68300
Fix potential OPcache file cache related issues
...
To solve issues detected during testing, we backport the following
commits to PHP 7.2:
129c5c1181
9ac133a0b3
ce72bc6b65
2019-04-11 18:28:49 +02:00
Nikita Popov
6dd7450427
Fix opcache build without JIT
2019-04-11 12:52:50 +02:00
Anatol Belski
30f5822a9b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix phar:// include handling with file cache
2019-04-10 14:57:27 +02:00
Anatol Belski
db7aba538d
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix phar:// include handling with file cache
2019-04-10 14:57:04 +02:00
Anatol Belski
1aa30bb71c
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix phar:// include handling with file cache
2019-04-10 14:56:29 +02:00
Anatol Belski
f31d7ca85e
Fix phar:// include handling with file cache
2019-04-10 14:55:15 +02:00
Dmitry Stogov
9a06876072
Added JIT compiler for x86 and x86_64
2019-04-01 10:27:11 +03:00
Nikita Popov
c32da66e12
Remove --disable-opcache-filecache option
...
This is no longer an experimental feature, and we have the ability
to control this at runtime via an ini setting.
2019-02-07 12:07:25 +01:00
Dmitry Stogov
da919a8b65
Remove copyright years.
2019-02-05 10:33:28 +03:00
Nikita Popov
e219ec144e
Implement typed properties
...
RFC: https://wiki.php.net/rfc/typed_properties_v2
This is a squash of PR #3734 , which is a squash of PR #3313 .
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
Co-authored-by: Joe Watkins <krakjoe@php.net>
Co-authored-by: Dmitry Stogov <dmitry@zend.com>
2019-01-11 15:49:06 +01:00
jvoisin
fbdaabba62
Fix some sign-related issues in comparisons
2019-01-09 10:01:12 +01:00
Dmitry Stogov
76d8f3923e
Revert HASH_FLAG_INITIALIZED into HASH_FLAG_UNINITIALIZED.
2018-12-28 11:22:18 +03:00
Zeev Suraski
9afce019e0
Future-proof email addresses
2018-11-01 18:35:32 +02:00
Zeev Suraski
67e0138c0d
Future-proof email addresses...
2018-11-01 18:30:28 +02:00
Dmitry Stogov
d57cd36e47
Immutable clases and op_arrays.
...
Squashed commit of the following:
commit cd0c36c3f9
Merge: 4740dabb84
ad6738e886
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:43:38 2018 +0300
Merge branch 'master' into immutable
* master:
Remove the "auto" encoding
Fixed bug #77025
Add vtbls for EUC-TW encoding
commit 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:12:28 2018 +0300
Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.
commit ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:46:30 2018 +0300
Added comment
commit 0276ea5187
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:42:43 2018 +0300
Added type cast
commit c63fc5d5f1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:36:51 2018 +0300
Moved static class members initialization into the proper place.
commit b945548e93
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:21:03 2018 +0300
Removed redundand assertion
commit d5a4108840
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:19:13 2018 +0300
Removed duplicate code
commit 8dadca8864
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:05:43 2018 +0300
Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.
commit 9ef07c88bd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 10:48:29 2018 +0300
typo
commit a06f0f3d3a
Merge: 94099586ec
3412345ffe
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 10:47:07 2018 +0300
Merge branch 'master' into immutable
* master:
Remove unused variable makefile_am_files
Classify object handlers are required/optional
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
Remove some obsolete config_vars.mk occurrences
Remove bsd_converted from .gitignore
Remove configuration parser and scanners ignores
Remove obsolete buildconf.stamp from .gitignore
[ci skip] Add magicdata.patch exception to .gitignore
Remove outdated ext/spl/examples items from .gitignore
Remove unused test.inc in ext/iconv/tests
commit 94099586ec
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 15 23:34:01 2018 +0300
Immutable clases and op_arrays
2018-10-17 15:52:50 +03:00
Dmitry Stogov
689c6fb188
Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED.
2018-09-18 11:41:40 +03:00
Dmitry Stogov
8050f4a334
Keep information about unresolved parent class in zend_class_entry->parent_name
2018-08-24 00:20:57 +03:00
Dmitry Stogov
d140df58e6
Keep information about unresolved interfaces in zend_class_entry->interface_names.
...
Move interface implementation code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_INTERFACE and ZEND_VERIFY_ABSTRACT_CLASS opcodes.
2018-08-23 17:16:28 +03:00
Dmitry Stogov
67397970b2
Replace zend_class_entry->traits by persistent zend_class_entry->trait_names.
...
Move trait binding code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_TRIAIT and ZEND_BIND_TRAITS opcodes.
2018-08-23 02:02:26 +03:00
Anatol Belski
bf8b5b2269
Regroup the ifdef'd occurrences
2018-07-14 12:51:37 +02:00
Anatol Belski
f6440c3aa6
Trail long path support also for deletion
2018-07-14 11:44:38 +02:00
Anatol Belski
dbabb35ff9
Distinguish two error messages
2018-07-13 19:01:43 +02:00
Anatol Belski
129c5c1181
Support long path also when reading from file cache
2018-07-12 09:26:50 +02:00
Dmitry Stogov
85ee47eda0
Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.
2018-07-11 18:56:10 +03:00
Anatol Belski
2367e649bc
Make error messages more speaking
2018-07-11 14:34:18 +02:00
Anatol Belski
9ac133a0b3
Switch to ioutil routines to support long path in file cache
2018-07-11 14:28:57 +02:00
Nikita Popov
2543e61aed
Fixed bug #76509
...
In PHP static properties are shared between inheriting classes,
unless they are explicitly overwritten. However, because this
functionality was implemented using reference, it was possible
to break the implementation by reassigning the static property
reference.
This is fixed by switching the implementation from using references
to using INDIRECTs, which cannot be affected by userland code.
2018-06-25 15:04:09 +02:00
Dmitry Stogov
5eb1f92f31
Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.
2018-05-28 16:27:12 +03:00
Dmitry Stogov
5a31e14beb
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2018-05-03 12:12:07 +03:00
Dmitry Stogov
3fe2e2a372
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2018-05-03 12:11:07 +03:00
Dmitry Stogov
5b3e1ded35
Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2018-05-03 12:10:33 +03:00
Dmitry Stogov
df4d0a73d2
Revert "Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)."
...
This reverts commit c6ce03e45e
.
2018-04-28 13:28:00 +03:00
Dmitry Stogov
f8c1ce18e9
Revert "Merge branch 'PHP-7.1' into PHP-7.2"
...
This reverts commit c547c1b980
, reversing
changes made to 4c083e7a66
.
2018-04-28 13:27:36 +03:00
Dmitry Stogov
1b305ecdcc
Revert "Merge branch 'PHP-7.2'"
...
This reverts commit f75b8a44cc
, reversing
changes made to aeb734910a
.
2018-04-28 13:26:32 +03:00
Dmitry Stogov
f75b8a44cc
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp).
2018-04-28 00:28:01 +03:00