diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c index 5cf8867da5e..8cfbb844de9 100644 --- a/ext/opcache/Optimizer/zend_inference.c +++ b/ext/opcache/Optimizer/zend_inference.c @@ -4100,7 +4100,7 @@ int zend_may_throw(const zend_op *opline, zend_op_array *op_array, zend_ssa *ssa || (t2 & MAY_BE_ANY) == MAY_BE_NULL) { return 0; } - return (t1 & MAY_BE_OBJECT) || (t2 & MAY_BE_OBJECT); + return (t1 & (MAY_BE_OBJECT|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_OBJECT)) || (t2 & (MAY_BE_OBJECT|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_OBJECT)); case ZEND_ASSIGN_ADD: if (opline->extended_value != 0) { return 1;