]> granicus.if.org Git - php/commit
Fix #79475: [JIT] func_get_args() assertion violation
authorChristoph M. Becker <cmbecker69@gmx.de>
Fri, 17 Apr 2020 07:48:15 +0000 (09:48 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Fri, 17 Apr 2020 07:53:23 +0000 (09:53 +0200)
commita1eaaa692e91fa28ee1ba050150547cd1317be87
tree60377f03ae8afed6f8c16e09e1403f6c84f959bc
parent7a260a4a1c14ab193414b947fe8df93cdefa9d32
Fix #79475: [JIT] func_get_args() assertion violation

`func_get_args()` may return `zend_empty_array`, which has refcount 2
to enforce separation.   We have to cater to that during type inference
so that the optimization in the JIT macro `SEPARATE_ARRAY` doesn't
prevent the separation.
ext/opcache/Optimizer/zend_func_info.c
ext/opcache/Optimizer/zend_inference.c
ext/opcache/tests/bug79475.phpt [new file with mode: 0644]