Dmitry Stogov
e9e6eb714e
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fixed GH-12748: Function JIT emits "could not convert to int" warning at the same time as invalid offset Error
2023-11-22 13:26:25 +03:00
Dmitry Stogov
6f355c6c79
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fixed GH-12748: Function JIT emits "could not convert to int" warning at the same time as invalid offset Error
2023-11-22 13:26:07 +03:00
Dmitry Stogov
2d65d714a3
Fixed GH-12748: Function JIT emits "could not convert to int" warning at the same time as invalid offset Error
2023-11-22 13:19:10 +03:00
Dmitry Stogov
b50aa63a08
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fixed GH-12747: Function JIT returns invalid error message for coalesce operator on invalid offset
2023-11-22 13:02:18 +03:00
Dmitry Stogov
f48ab6a66f
Fixed GH-12747: Function JIT returns invalid error message for coalesce operator on invalid offset
2023-11-22 13:01:35 +03:00
Dmitry Stogov
d20c8496e9
Update according to IR changes
2023-11-22 12:13:29 +03:00
Dmitry Stogov
acda3af045
Update IR
...
IR commit: 18a3192604d9475cee833c6f94079d31015a9754
2023-11-22 12:12:42 +03:00
Pengfei Li
f2706a8f30
JIT/AArch64: Fix an undefined symbol issue ( #12687 )
...
In AArch64 function `zend_jit_set_veneer()`, some debug code calls two
other functions `ir_disasm_find_symbol()` and `ir_disasm_add_symbol()`
defined in `ir_disasm.c`. However, `ir_disasm.c` is compiled under the
condition that capstone is available. This causes an undefined symbol
issue while loading `opcache.so` when JIT is triggered if PHP is built
without `--with-capstone`.
We find this issue on MacOS 12.5 if we build PHP with Clang 14. It does
not appear immediately when using other versions of toolchains because
of lazy binding. To reproduce this with Linux/GCC, we can disable lazy
binding by `export LD_BIND_NOW=1` before building PHP.
This fixes the issue by making the debug code conditionally compile.
2023-11-16 11:57:09 +03:00
Dmitry Stogov
94f32df866
Fixed compilation warning
2023-11-14 12:22:38 +03:00
David CARLIER
cc2bf11951
zend: introducing ZEND_ELEMENT_COUNT for struct's dynamic arrays. ( #12650 )
...
zend: introducing ZEND_ELEMENT_COUNT for struct's dynamic and flexible arrays.
It is mostly for ubsan and helping array bound checking.
2023-11-13 12:42:45 +00:00
Dmitry Stogov
8349835e68
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Backport fix for GH-12512: JIT Assertion `info & (1 << type)' failed (#12660 )
2023-11-13 13:28:48 +03:00
Dmitry Stogov
db26aee801
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Backport fix for GH-12512: JIT Assertion `info & (1 << type)' failed (#12660 )
2023-11-13 13:27:11 +03:00
Dmitry Stogov
c60c2a0d67
Backport fix for GH-12512: JIT Assertion `info & (1 << type)' failed ( #12660 )
2023-11-13 13:26:17 +03:00
Dmitry Stogov
a1cd010b12
Fix mistakes introduced in 886dd7c06f
2023-11-10 01:18:19 +03:00
Dmitry Stogov
886dd7c06f
Improve fix for GH-12512: JIT Assertion `info & (1 << type)' failed
2023-11-09 23:21:38 +03:00
Dmitry Stogov
524b134607
Fixed failure in generator related tests on Mac introduced by 8ef695795c
2023-11-08 13:06:15 +03:00
Dmitry Stogov
01f24bb708
Fix incorrect trace type inference in a false loop
...
Fixes oss-fuzz #63846
2023-11-08 11:19:52 +03:00
Dmitry Stogov
11f46117d0
IR Update
...
IR commit: 1eaf5531e5f728b9519190bcf7906c9c9c9168ec
2023-11-08 10:25:02 +03:00
Dmitry Stogov
b88d38787b
Revert "Fix incorrect trace type inference in a false loop"
...
This reverts commit 7f06a9daa2 .
2023-11-07 18:29:26 +03:00
Dmitry Stogov
7f06a9daa2
Fix incorrect trace type inference in a false loop
...
Fixes oss-fuzz #63846
2023-11-07 17:29:10 +03:00
Dmitry Stogov
8ef695795c
Fixed GH-12623: Segmentation fault in ZEND_DO_UCALL_SPEC_RETVAL_USED_HANDLER
2023-11-07 16:15:22 +03:00
Dmitry Stogov
3a3d83625b
Fixed IR construction
...
Fixes oss-fuzz #63857
2023-11-07 13:25:09 +03:00
Dmitry Stogov
a30d809290
Fixed incorrect dead edge elimination during IR construction
...
Fixes oss-fuzz #63931
2023-11-07 11:41:23 +03:00
Dmitry Stogov
fa59bbe662
Update IR
...
IR commit: ec588537889c84a4ec649a6f1aa9d7f1bfea7b4d
2023-11-07 11:40:11 +03:00
Dmitry Stogov
93ed314432
Fixed incorrect type stores
2023-11-06 15:20:26 +03:00
Dmitry Stogov
3844593bfb
An attempt to fix GH-12512
2023-11-03 13:49:50 +03:00
Dmitry Stogov
77312d8ea1
Fixed assertion
2023-11-03 02:16:08 +03:00
Dmitry Stogov
7aa9ef7d12
Fixed incorrect type assumption
...
Fixes oss-fuzz #63809
2023-11-02 22:33:01 +03:00
Dmitry Stogov
1226fe027a
Fixed codegeneration for ISSET_ISEMPTY_DIM
...
Fixes oss-fuzz #63805
2023-11-02 19:48:04 +03:00
Dmitry Stogov
4fce8c83bc
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Don't JIT after fatal errors
2023-11-02 14:15:13 +03:00
Dmitry Stogov
83bbea7c5b
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Don't JIT after fatal errors
2023-11-02 14:15:05 +03:00
Dmitry Stogov
bbf2fc99a3
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Don't JIT after fatal errors
2023-11-02 14:14:48 +03:00
Dmitry Stogov
77a497d56a
Don't JIT after fatal errors
2023-11-02 14:14:12 +03:00
Dmitry Stogov
1b846f89b9
Fixed GH-12584: Assertion `ctx->control' failed with new JIT and CALL
...
VM`
2023-11-01 17:19:17 +03:00
Dmitry Stogov
d7fc3ab07f
Fixed GH-12585: Assertion t->stack_map[t->exit_info[exit_point].stack_offset + var].type == 4
2023-11-01 16:11:54 +03:00
Dmitry Stogov
aa7465a435
Fixed missed type store
...
Fixes oss-fuzz #63601
2023-11-01 14:26:01 +03:00
Dmitry Stogov
2782577c4f
Prevent starting JIT on AArch64 with buffuer aize above 128M
...
B and BL instructions are limited by 128M offset
2023-10-31 21:42:25 +03:00
Dmitry Stogov
93d5c0e946
Fixed missed type store
2023-10-31 17:55:37 +03:00
Dmitry Stogov
cefe9e4ef4
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Backport fix for incorrect assumption about in-memory zval type
2023-10-31 11:59:17 +03:00
Dmitry Stogov
4b82ed4387
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Backport fix for incorrect assumption about in-memory zval type
2023-10-31 11:59:08 +03:00
Dmitry Stogov
455a967934
Backport fix for incorrect assumption about in-memory zval type
2023-10-31 11:56:01 +03:00
Dmitry Stogov
ed37ab9d14
Fixed codegeneration for NOT
...
Fixes oss-fuzz #63749
2023-10-31 08:34:14 +03:00
Dmitry Stogov
93c57af778
Fixed GH-12560: Assertion `0 && "too long jmp distance"' failed with new JIT on AArch64
2023-10-30 21:39:29 +03:00
Dmitry Stogov
411b6fb4e6
Fixed codegeneration for PRE_DEC
...
Fixes oss-fuzz #63713
2023-10-30 20:41:04 +03:00
Dmitry Stogov
52480b3a79
Fixed incorrect assumption about in-memory zval type
2023-10-30 17:54:30 +03:00
Dmitry Stogov
bd183a4069
Fixed codegeneration for MATCH
...
Fixes oss-fuzz #63681
2023-10-30 12:57:31 +03:00
Dmitry Stogov
e482785886
Fixed codegeneration for FETCH_DIM_IS
...
Fixes oss-fuzz #63666
2023-10-30 11:53:43 +03:00
Dmitry Stogov
c8cb68ad0a
Fixed codegenertion for FETCH_DIM_W
...
Fixes oss-fuzz #63664
2023-10-30 11:19:49 +03:00
Dmitry Stogov
c19347a0d3
Fixed incorrect trace type inference
...
Fixes oss-fuzz #63623
2023-10-27 16:12:18 +03:00
Dmitry Stogov
e95faaeebd
Fixed codegeneration for IDENTICAL
...
Fixes oss-fuzz #63618
2023-10-26 23:14:30 +03:00