Ilija Tovilo
86669774ae
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix missing readonly modification error with inc/dec in JIT
2023-03-02 11:31:42 +01:00
Ilija Tovilo
7934a0fcfb
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix missing readonly modification error with inc/dec in JIT
2023-03-02 11:31:29 +01:00
Ilija Tovilo
df93146a15
Fix missing readonly modification error with inc/dec in JIT
...
Closes GH-10746
2023-03-02 11:29:53 +01:00
Ilija Tovilo
da4167b918
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix unescaped {TMP} variables in tests
2023-03-01 13:25:34 +01:00
Ilija Tovilo
2b5aac9303
Fix unescaped {TMP} variables in tests
...
On Windows {TMP} can return ~, which will result in a parse error
2023-03-01 13:24:39 +01:00
Dmitry Stogov
2f65da0080
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-10635: ARM64 function JIT causes impossible assertion (#10638 )
2023-02-21 09:26:19 +03:00
Dmitry Stogov
240c120cbc
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-10635: ARM64 function JIT causes impossible assertion (#10638 )
2023-02-21 09:26:10 +03:00
Dmitry Stogov
70ff10af72
Fix GH-10635: ARM64 function JIT causes impossible assertion ( #10638 )
2023-02-21 09:25:51 +03:00
Niels Dossche
2e78c080c6
Improve the optimizer's check if a function is a prototype or not ( #10467 )
...
Currently, a function is considered a prototype if the function is not
marked as final. However, a class marked as final also make it
impossible for a function to be overridden. Therefore, we know in this
case too that the function is not a prototype.
This allows the type inference algorithm to determine some types more
precisely, and can allow for more optimizations of the instructions.
Additionally, place some computation of the flags in their respective
blocks as a micro-optimization.
Note: anonymous classes *can* be extended (see test
Zend/tests/anon/011.phpt). Therefore we don't optimize this case.
2023-02-21 00:34:47 +03:00
Dmitry Stogov
b578f69c89
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix (at lease part of the) #GH-10635: ARM64 function JIT causes impossible assertion
2023-02-20 19:44:31 +03:00
Dmitry Stogov
388d784154
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix (at lease part of the) #GH-10635: ARM64 function JIT causes impossible assertion
2023-02-20 19:44:22 +03:00
Dmitry Stogov
08e7591206
Fix (at lease part of the) #GH-10635: ARM64 function JIT causes impossible assertion
2023-02-20 19:42:35 +03:00
Marcos Marcolin
641fe23e3a
Improve illegal offset error messages ( #10504 )
...
Co-authored-by: Marcos Marcolin <marcos@ixcsoft.com.br >
2023-02-08 12:11:41 +00:00
Dmitry Stogov
ea37abd412
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix type inference
2023-01-30 13:16:17 +03:00
Dmitry Stogov
55e3f73109
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix type inference
2023-01-30 13:16:05 +03:00
Dmitry Stogov
81607a62ca
Fix type inference
...
Fixes oss-fuzz #55358
2023-01-30 13:15:05 +03:00
Arnaud Le Blanc
306a72add4
Add test for GH-10405
2023-01-28 11:49:14 +01:00
Máté Kocsis
7936c8085e
Fix GH-8329 Print true/false instead of bool in error and debug messages ( #8385 )
2023-01-23 10:52:14 +01:00
Dmitry Stogov
c010e8fb02
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-10271: Incorrect arithmetic calculations when using JIT
2023-01-16 14:52:14 +03:00
Dmitry Stogov
757e269b89
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-10271: Incorrect arithmetic calculations when using JIT
2023-01-16 14:51:42 +03:00
Dmitry Stogov
42eed7bb4e
Fix GH-10271: Incorrect arithmetic calculations when using JIT
2023-01-16 14:51:26 +03:00
George Peter Banyard
410e78651a
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Use absolute paths in OPCache tests when calling `opcache_compile_file()`
2023-01-12 15:48:13 +00:00
George Peter Banyard
31fd34aa4c
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Use absolute paths in OPCache tests when calling `opcache_compile_file()`
2023-01-12 15:48:01 +00:00
Thomas Gerbet
1f715f5658
Use absolute paths in OPCache tests when calling opcache_compile_file()
...
This make sure the tests do not fail if they are not run from the
repository root.
Closes GH-10266
Signed-off-by: George Peter Banyard <girgias@php.net >
2023-01-12 15:47:24 +00:00
Dmitry Stogov
ce861373b9
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix incorrect optimization of ASSIGN_OP may lead to incorrect result (sub assign -> pre dec conversion for null values)
2023-01-09 13:53:35 +03:00
Dmitry Stogov
9abc2108fa
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix incorrect optimization of ASSIGN_OP may lead to incorrect result (sub assign -> pre dec conversion for null values)
2023-01-09 13:53:19 +03:00
Dmitry Stogov
4d4a53beee
Fix incorrect optimization of ASSIGN_OP may lead to incorrect result (sub assign -> pre dec conversion for null values)
2023-01-09 13:51:57 +03:00
Dmitry Stogov
f922597b51
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix memory leak because of incorrect optimization
2022-12-26 13:22:02 +03:00
Dmitry Stogov
0464524292
Fix memory leak because of incorrect optimization
...
Fixes oss-fuzz #54488
2022-12-26 13:20:55 +03:00
Ilija Tovilo
292f69b345
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Add a regression test for auto_globals_jit=0 with preloading on
2022-12-22 17:42:37 +01:00
Ilija Tovilo
db48f49888
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Add a regression test for auto_globals_jit=0 with preloading on
2022-12-22 17:42:27 +01:00
Niels Dossche
bbad29b9c1
Add a regression test for auto_globals_jit=0 with preloading on
2022-12-22 17:42:11 +01:00
Arnaud Le Blanc
1cba98ebe9
Merge branch 'PHP-8.2'
...
* PHP-8.2:
[ci skip] NEWS
[ci skip] NEWS
Do not resolve constants on non-linked class during preloading (#9975 )
2022-11-25 14:37:55 +01:00
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
ff85649431
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix a memory leak in tracig JIT when the same closure is called through Closure::call() and natively.
2022-11-22 12:29:36 +03: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
a6a80d8ab2
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix memory leak
2022-11-14 12:36:00 +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
Dmitry Stogov
5e23cf9381
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix memory leak
2022-11-07 11:10:05 +03: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
Ilija Tovilo
537a104f14
Fix user path in test
2022-10-25 13:03:55 +02:00
Dmitry Stogov
a26d83a1d0
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fixed test
JIT: Fix incorrect EX(opline) override
2022-10-24 12:10:15 +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
Dmitry Stogov
5a68d991ad
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix memory leak
2022-10-17 15:09:33 +03:00
Dmitry Stogov
eecbb60db6
Fix memory leak
...
Fixes oss-fuzz #52479
2022-10-17 15:08:21 +03:00