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
c4a6998c62
Merge branch 'PHP-7.4'
2019-07-16 17:45:03 +02:00
Nikita Popov
b317f0eb59
Remove ZEND_HANDLE_MAPPED
...
The buf/len members are now simply used in addition to the main
stream, without changing the handle kind.
2019-07-16 17:44:32 +02:00
Nikita Popov
3faa903d47
Merge branch 'PHP-7.4'
2019-07-16 16:44:46 +02:00
Nikita Popov
49bac9b77b
Introduce zend_stream_init_filename()
...
Avoid more ad-hoc initialization of zend_file_handle structures.
2019-07-16 16:44:37 +02:00
Nikita Popov
06cf349dc3
Merge branch 'PHP-7.4'
2019-07-16 15:48:24 +02:00
Nikita Popov
e08cc4d921
Remove ZEND_HANDLE_FD
...
This handle type was unused.
2019-07-16 15:47:10 +02:00
Nikita Popov
f8d8b96e92
Merge branch 'PHP-7.4'
2019-07-05 10:47:01 +02:00
Nikita Popov
d3c4841b18
Preloading: Don't move conditional functions to back to scripts
...
Conditional function declaration may be referenced by functions or
classes that have been preloaded, so we should not move them back
to scripts.
What we probably should be doing though is to discard conditional
functions that are not used in the optimizer. This is probably
reasonably common for polyfills, where we will be able to const-eval
the conditions and drop the BBs declaring the functions, but won't
delete the function declarations themselves.
2019-07-05 10:46:41 +02:00
Nikita Popov
8c647946ff
Merge branch 'PHP-7.4'
2019-07-04 12:20:40 +02:00
Nikita Popov
b250f89b92
Preloading: Relax known type restrictions
...
Check whether there is a parent/interface/trait method with the same
name and only then require the type to be known. This reduces the
number of cases where this triggers in practice a lot.
2019-07-04 12:20:32 +02:00
Nikita Popov
4a2646cf45
Preloading: Also handle trait methods outside main script
2019-07-04 12:20:31 +02:00
Nikita Popov
6473ec30a1
Merge branch 'PHP-7.4'
2019-07-04 11:07:14 +02:00
Nikita Popov
df243f19be
Preloading: Prevent autoloading while resolving constants
2019-07-04 11:05:01 +02:00
Nikita Popov
f124bf22e0
Merge branch 'PHP-7.4'
2019-07-03 14:05:31 +02:00
Nikita Popov
f857648270
Improve unlinked class diagnostics during preloading
2019-07-03 14:05:10 +02:00
Nikita Popov
ad81aae8bf
Merge branch 'PHP-7.4'
2019-07-02 12:28:51 +02:00
Nikita Popov
4a08885ed9
Merge branch 'PHP-7.3' into PHP-7.4
2019-07-02 12:28:46 +02:00
Nikita Popov
7174c44557
Merge branch 'PHP-7.2' into PHP-7.3
2019-07-02 12:28:37 +02:00
Alex Scott
a4acff3e21
Fix bug #78138 : opcache.validate_permission incorrectly works with PHAR files
...
opcache incorrectly handles PHAR files when opcache.validate_permission
option enabled, because it calls
access("phar://path-to/file.phar/path/inside.php", R_OK);
rather than
access("path-to/file.phar", R_OK)
2019-07-02 12:25:50 +02:00
Nikita Popov
2f7c3971cc
Merge branch 'PHP-7.4'
2019-07-02 11:59:21 +02:00
David Carlier
7f1fef9fe0
Fix opcache huge page mapping on FreeBSD
...
Too much room were given process mappings and were not unmapped.
Closes GH-4345.
2019-07-02 11:59:08 +02:00
Nikita Popov
4e1a225e3e
Merge branch 'PHP-7.4'
2019-07-01 16:55:39 +02:00
David Carlier
994a01ea43
opcache huge pages: Little fix for FreeBSD
...
Calculating the vm entries size beforehand, as we could
possibly miss few entries.
Closes GH-4344.
2019-07-01 16:55:23 +02:00
Dmitry Stogov
ca22c456ca
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Keep lowercased parent class name as second argument of DECLARE_CLASS to avoid extra work at run-time
2019-06-25 11:32:03 +03:00
Dmitry Stogov
759f4ecd8b
Keep lowercased parent class name as second argument of DECLARE_CLASS to avoid extra work at run-time
2019-06-25 11:30:58 +03:00
Dmitry Stogov
e18c60cd8d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed bug 78175 (Preloading must store default values of static variables and properties)
2019-06-24 20:34:05 +03:00
Dmitry Stogov
0f29fb5cd8
Fixed bug 78175 (Preloading must store default values of static variables and properties)
2019-06-24 20:32:27 +03:00
Dmitry Stogov
1707f6645a
Additional fix for bug #78185 (File cache no longer works)
2019-06-21 10:06:35 +03:00
Dmitry Stogov
e177791df1
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed bug #78185 (File cache no longer works)
2019-06-20 09:08:09 +03:00
Dmitry Stogov
05c8f1ff2e
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #78185 (File cache no longer works)
2019-06-20 09:07:39 +03:00
Dmitry Stogov
35acda856a
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed bug #78185 (File cache no longer works)
2019-06-20 09:05:50 +03:00
Dmitry Stogov
cd6a6e4cf2
Fixed bug #78185 (File cache no longer works)
2019-06-20 09:04:14 +03:00
Dmitry Stogov
c8d27777d6
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed bug #78175 (Preloading segfaults at preload time and at runtime)
2019-06-18 17:19:19 +03:00
Dmitry Stogov
148eb20226
Fixed bug #78175 (Preloading segfaults at preload time and at runtime)
2019-06-18 17:18:49 +03: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
Dmitry Stogov
96a6f7f7f5
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Backport 96a12578c1
2019-06-14 13:29:30 +03:00
Dmitry Stogov
28808ca96d
Backport 96a12578c1
2019-06-14 13:29:13 +03:00
Dmitry Stogov
a5b39abd86
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Backport 91a6cdbff5
2019-06-14 13:25:06 +03:00
Dmitry Stogov
40f463b560
Backport 91a6cdbff5
2019-06-14 13:24:47 +03:00
Dmitry Stogov
29902e0e46
Merge branch 'PHP-7.4'
...
* PHP-7.4:
More edge case fixes that may cause bug #78106
2019-06-14 13:10:39 +03:00
Dmitry Stogov
96a12578c1
More edge case fixes that may cause bug #78106
2019-06-14 13:10:02 +03:00
Dmitry Stogov
ca486893ba
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Attempt to fix edge conditions that may cause bug #78106
2019-06-14 12:48:00 +03:00
Dmitry Stogov
91a6cdbff5
Attempt to fix edge conditions that may cause bug #78106
2019-06-14 12:47:22 +03:00
Nikita Popov
026023bd71
Merge branch 'PHP-7.4'
2019-06-13 12:54:17 +02:00
Nikita Popov
e5be58f57c
Merge branch 'PHP-7.3' into PHP-7.4
2019-06-13 12:54:10 +02:00
Nikita Popov
bada2049ca
Merge branch 'PHP-7.2' into PHP-7.3
2019-06-13 12:52:32 +02:00
Nikita Popov
f1a8138055
Fixed bug #78106
...
When disabling opcache during the request via opcache.enable ini
setting, make sure we also disable ZCG(accelerator_enabled).
2019-06-13 12:51:35 +02:00