Nikita Popov
0571f09424
Rename opcache.jit_max_loops_unroll to opcache.jit_max_loop_unrolls
2020-11-02 12:25:21 +01:00
Benjamin Eberlei
53ef244923
Add opcache.jit=tracing|function values, make on/yes/true synonym for tracing.
2020-08-04 10:15:22 +02:00
Dmitry Stogov
8a42f357bf
Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by opcache.jit_max_exit_counters configuration directive
2020-07-28 11:18:18 +03:00
Nikita Popov
eb04cb5f20
Move checks after zpp in opcache_is_script_cached()
2020-07-22 10:52:50 +02:00
Max Semenik
2b5de6f839
Remove proto comments from C files
...
Closes GH-5758
2020-07-06 21:13:34 +02:00
Dmitry Stogov
e9f295ac84
Tracing JIT support for megamorphic calls
2020-06-09 23:33:22 +03:00
Christoph M. Becker
d23cd354c0
Fix #79665 : ini_get() and opcache_get_configuration() inconsistency
...
Overriding the given INI values in modifier callbacks is not possible,
so instead of enforcing "normalized" internal values, we just reject
the attempted changes.
2020-06-03 11:07:25 +02:00
Dmitry Stogov
efbe96166d
Split "opcache.jit_max_recursion_unroll" into "opcache.jit_max_recursive_calls" and "opcache.jit_max_recursive_returns".
...
It's possible to disable recording of "recursive return loops" setting opcache.jit_max_recursive_returns to 0.
2020-05-28 12:28:05 +03:00
Dmitry Stogov
2dfd6cd373
Allow counter settings to be "zero" to disable corresponding counter
2020-05-21 01:06:50 +03:00
Nikita Popov
0a74da385d
Add support for replaying warnings in opcache
...
If opcache.record_warnings is enabled, opcache will record
compilation warnings and replay them when the file is included
again. The primary use case I have in mind for this is automated
testing of the opcache file cache.
This resolves bug #76535 .
2020-05-20 11:20:21 +02:00
Dmitry Stogov
928c796290
Make number of root and side traces configurable
2020-05-20 01:40:01 +03:00
Nikita Popov
74ef4bd7ed
Fix opcache_get_configuration() test
2020-05-19 14:12:30 +02:00
Dmitry Stogov
8c19e611aa
Make JIT parameters configurable through opcache.jit_... options
2020-05-19 13:35:02 +03:00
Dmitry Stogov
0695048e20
JIT refactoring to allow run-time changes of JIT options (triggers, optimization_level, debug flags, etc)
2020-05-18 10:23:06 +03:00
Christoph M. Becker
3689807998
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79588 : Boolean opcache settings ignore on/off values
2020-05-12 19:50:16 +02:00
Christoph M. Becker
129fd647a1
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79588 : Boolean opcache settings ignore on/off values
2020-05-12 19:48:12 +02:00
Christoph M. Becker
5bdb4ab786
Fix #79588 : Boolean opcache settings ignore on/off values
...
We should display boolean INI settings as boolean.
2020-05-12 19:44:39 +02:00
Nikita Popov
41c7d28c11
Add macro to get ini target address
2020-04-27 10:30:00 +02:00
Máté Kocsis
21cfa03f17
Generate function entries for another batch of extensions
...
Closes GH-5352
2020-04-05 21:15:30 +02:00
Máté Kocsis
345703724c
Use RETURN_THROWS() during ZPP in most of the extensions
...
Except for some bigger ones: reflection, sodium, spl
2019-12-31 11:46:11 +01:00
Máté Kocsis
9493893412
Cleanup return values when parameter parsing is unsuccessful
2019-10-30 16:05:20 +01:00
Christoph M. Becker
9b9fac78b0
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78429 : opcache_compile_file(__FILE__); segfaults
2019-09-16 16:01:49 +02:00
Christoph M. Becker
20f73d3d8f
Fix #78429 : opcache_compile_file(__FILE__); segfaults
...
We have to ensure that OPcache has been properly started up when
`opcache_compile_file()` is called.
2019-09-16 16:01:09 +02:00
Dmitry Stogov
3be83233c3
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Execute preload script under user defined by opcache.preload_user directive
2019-09-03 14:23:44 +03:00
Dmitry Stogov
5dc37cc306
Execute preload script under user defined by opcache.preload_user directive
2019-09-03 14:23:13 +03:00
Nikita Popov
65fa6dac19
Add jit_bisect_limit
...
To help identify which function is being miscompiled.
2019-08-30 14:50:22 +02:00
Christoph M. Becker
0ab4fca8e3
Add ext\opcache stubs
2019-08-26 16:05:01 +02: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
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
760308cbff
Fix build without jit
2019-07-16 10:26:25 +02:00
Nikita Popov
8a10258a53
Merge branch 'PHP-7.4'
2019-07-15 10:33:31 +02:00
Nikita Popov
a520c24269
Merge branch 'PHP-7.3' into PHP-7.4
2019-07-15 10:29:37 +02:00
Nikita Popov
3eb057c4a7
Merge branch 'PHP-7.2' into PHP-7.3
2019-07-15 10:23:51 +02:00
Andrew Collington
768ad70f70
Fix bug #78291 Missing opcache directives
...
New opcache directives have been added recently which are returned
if using `ini_get_all('zend opcache')` but are not listed in the
directives if using `opcache_get_configuration()`. This fix adds
those missing directives as well as if `opcache.mmap_base` is used
instead of `opcache.lockfile_path`. Also adds a test to ensure the
directives match with both methods of fetching.
2019-07-15 10:22:47 +02:00
Christoph M. Becker
d1141ff24b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78202 : Opcache stats for cache hits are capped at 32bit NUM
2019-06-25 13:07:00 +02:00
Christoph M. Becker
ead40e31e9
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78202 : Opcache stats for cache hits are capped at 32bit NUM
2019-06-25 13:06:20 +02:00
Christoph M. Becker
18bba63f39
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78202 : Opcache stats for cache hits are capped at 32bit NUM
2019-06-25 13:04:28 +02:00
Christoph M. Becker
4366f22dfc
Fix #78202 : Opcache stats for cache hits are capped at 32bit NUM
...
We use the proper format specifiers now.
2019-06-25 13:00:28 +02:00
Dmitry Stogov
1707f6645a
Additional fix for bug #78185 (File cache no longer works)
2019-06-21 10:06:35 +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
Dmitry Stogov
83b12d5b57
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Prevent race condition in opcache_reset()
2019-05-21 00:08:22 +03:00
Dmitry Stogov
e2f8d906cf
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Prevent race condition in opcache_reset()
2019-05-21 00:08:12 +03:00
Dmitry Stogov
354a76bb80
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Prevent race condition in opcache_reset()
2019-05-21 00:08:03 +03:00
Dmitry Stogov
a8a019d68a
Prevent race condition in opcache_reset()
2019-05-21 00:07:17 +03:00
Dmitry Stogov
4d8e0d493a
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Moved NEWS entry
Fixed possible crashes, because of inconsistent PCRE cache and opcache SHM reset
2019-05-14 15:09:30 +03:00