Arnaud Le Blanc
5563535e97
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[ci skip] NEWS
Do not resolve constants on non-linked class during preloading (#9975 )
2022-11-25 14:11:52 +01:00
Arnaud Le Blanc
91b3b58f71
Do not resolve constants on non-linked class during preloading ( #9975 )
...
Fixes GH-9968
2022-11-25 14:02:45 +01:00
Dmitry Stogov
45cb3f917a
Fix a memory leak in tracig JIT when the same closure is called through Closure::call() and natively.
...
Closure::call() makes a temporary copy of original closure function, modifies its
scope, resets ZEND_ACC_CLOSURE flag and call it through zend_call_function().
As result the same function may be called with and without
ZEND_ACC_CLOSURE flag, that confuses JIT and may lead to memory leak or
even worse memory errors.
The patch allocates "fake" closure object and keep ZEND_ACC_CLOSURE flag
to always behave in the same way.
2022-11-21 17:41:16 +03:00
Dmitry Stogov
6cbc91151a
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix memory leak
2022-11-14 12:35:49 +03:00
Dmitry Stogov
a8bd342397
Fix memory leak
...
Fizes oss-fuzz #53143
2022-11-14 12:35:09 +03:00
Bob Weinand
4052bbf0e3
Fix opcache preload with observers enabled
...
Signed-off-by: Bob Weinand <bobwei9@hotmail.com >
2022-11-09 16:36:28 +01:00
Dmitry Stogov
de4b502fef
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix memory leak
2022-11-07 11:08:54 +03:00
Dmitry Stogov
f31f464cec
Fix memory leak
...
Fixes oss-fuzz #52999
2022-11-07 11:07:58 +03:00
Bob Weinand
b30448f48f
Fix observing inherited internal functions
...
Fixes GH-9871
2022-11-02 15:33:04 +01:00
Ilija Tovilo
537a104f14
Fix user path in test
2022-10-25 13:03:55 +02:00
Dmitry Stogov
6567d49726
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
opcache: fix syntax error introduced in 261a08af65 (#9821 )
2022-10-24 20:43:18 +03:00
Kévin Dunglas
af75eaf9bf
opcache: fix syntax error introduced in 261a08af65 ( #9821 )
2022-10-24 20:42:55 +03:00
Dmitry Stogov
e0d9a29958
Fixed test
2022-10-24 12:10:08 +03:00
Dmitry Stogov
17706c3e88
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
JIT: Fix incorrect EX(opline) override
2022-10-24 12:03:36 +03:00
Dmitry Stogov
261a08af65
JIT: Fix incorrect EX(opline) override
...
Fixes oss-fuzz #52674
2022-10-24 12:02:28 +03:00
Bob Weinand
5e9654be03
Fixed missing run_time_cache for preloaded arena allocated internal functions
...
This effectively affected all preloaded enums, leading them to possibly share a run_time_cache__ptr slot with unrelated functions. (Given that these were not set again.)
This bugfix is not accompanied by a test, due to how hard to trigger it was and getting a crash also depends a lot on the precise alignment of whether a cache entry accidentally overlapping has been used etc.
2022-10-22 22:07:41 +00:00
Kévin Dunglas
7acb7703e2
opcache: add FrankenPHP to the allow list
2022-10-20 15:08:03 +02:00
Dmitry Stogov
eecbb60db6
Fix memory leak
...
Fixes oss-fuzz #52479
2022-10-17 15:08:21 +03:00
Dmitry Stogov
d282345e11
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Reset JIT for dynamic functions on opcache restrart
2022-10-17 11:27:12 +03:00
Dmitry Stogov
61e563ca40
Reset JIT for dynamic functions on opcache restrart
2022-10-17 11:26:30 +03:00
Dmitry Stogov
5e10aa4e5f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Discard disasm symbols on opcache restart
2022-10-17 11:24:08 +03:00
Dmitry Stogov
3e076ddf06
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Discard disasm symbols on opcache restart
2022-10-17 11:24:00 +03:00
Dmitry Stogov
cefb228e15
Discard disasm symbols on opcache restart
2022-10-17 11:22:59 +03:00
Dmitry Stogov
46fcf33c7b
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix crashes after opcache restart
2022-10-11 14:23:59 +03:00
Dmitry Stogov
c5364b851a
Fix crashes after opcache restart
2022-10-11 14:23:12 +03:00
Dmitry Stogov
5cfec7ee40
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix typo
2022-10-05 21:39:46 +03:00
Dmitry Stogov
e81b6bf018
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix typo
2022-10-05 21:39:37 +03:00
Dmitry Stogov
072dc3c857
Fix typo
2022-10-05 21:39:16 +03:00
Dmitry Stogov
4164d2d567
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix register allocation (missing store)
2022-10-03 17:09:07 +03:00
Dmitry Stogov
5877b84056
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix register allocation (missing store)
2022-10-03 17:09:01 +03:00
Dmitry Stogov
ed652a514f
Fix register allocation (missing store)
...
This fixes oss-fuzz #52022
2022-10-03 17:08:11 +03:00
Dmitry Stogov
ec5882e1c3
Fix GH-9626: JIT type assertion failure in Symfony community build
2022-10-03 14:58:37 +03:00
Dmitry Stogov
3cce4964d1
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix abstract trace consisency for FE_FETCH instruction
2022-10-03 14:51:32 +03:00
Dmitry Stogov
da28a6b497
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix abstract trace consisency for FE_FETCH instruction
2022-10-03 14:51:21 +03:00
Dmitry Stogov
5ca4113386
Fix abstract trace consisency for FE_FETCH instruction
2022-10-03 14:48:03 +03:00
Dmitry Stogov
efcffc9d5f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Force exit to VM
2022-09-29 15:28:23 +03:00
Dmitry Stogov
aa179bf3dd
Force exit to VM
2022-09-29 15:27:38 +03:00
Ilija Tovilo
980c2edbe2
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix invalid label before }
2022-09-27 23:28:07 +02:00
Ilija Tovilo
0aa5adb143
Fix invalid label before }
...
Will be fixed in C23 :)
Closes GH-9624
2022-09-27 23:27:17 +02:00
Dmitry Stogov
8dc689ecfd
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Wrap JIT compiler with zend_try to recover in case of memory overflow
2022-09-27 22:29:01 +03:00
Dmitry Stogov
2568db287d
Wrap JIT compiler with zend_try to recover in case of memory overflow
2022-09-27 22:28:16 +03:00
Dmitry Stogov
ca93e48b77
Uniform placing of init_fcall guards.
...
This fixes trcing JIT with opcache.jit=51
2022-09-27 11:30:36 +03:00
Dmitry Stogov
94b8c2da9f
Fixed type inference
...
Fixes oss-fuzz #51640
2022-09-26 12:19:12 +03:00
Dmitry Stogov
95d9e5157f
Check "ssa_op" before dereference (it may be NULL for opcache.jit=51)
2022-09-23 13:14:07 +03:00
David Carlier
fd55b50833
Merge branch 'PHP-8.1' into PHP-8.2
2022-09-22 11:24:37 +01:00
wxue1
52f4ed16e0
Indirect call reduction for Jit code
...
Changing indirect call to direct call for Jit code
benefits the branch prediction, which gets 1% performance
gain in our workload.
Similarly, we change indirect jump to direct jump.
Signed-off-by: Su, Tao <tao.su@intel.com >
Signed-off-by: Wang, Xue <xue1.wang@intel.com >
2022-09-22 11:22:27 +01:00
Dmitry Stogov
bda449afe8
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Intern string values of internal classes to prevent their future interning during inheritance.
2022-09-20 20:46:44 +03:00
Dmitry Stogov
3a46f9fd1d
Intern string values of internal classes to prevent their future interning during inheritance.
2022-09-20 20:43:29 +03:00
Dmitry Stogov
5a868022e7
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Reorder conditions to avoid valgrind "Conditional jump or move depends on uninitialised value" warning.
2022-09-19 17:19:28 +03:00
Dmitry Stogov
20d1d234ca
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Reorder conditions to avoid valgrind "Conditional jump or move depends on uninitialised value" warning.
2022-09-19 17:19:19 +03:00