From ea0df0739837f5df33c3fbae6c3f6ad5090086e3 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sat, 19 Aug 2017 18:48:10 +0800 Subject: [PATCH] Fixed type-info for ZEND_FETCH_DIIM_UNSET --- ext/opcache/Optimizer/zend_inference.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c index 9d5d6cfea5..39ff7d8d49 100644 --- a/ext/opcache/Optimizer/zend_inference.c +++ b/ext/opcache/Optimizer/zend_inference.c @@ -3004,6 +3004,13 @@ static int zend_update_type_info(const zend_op_array *op_array, tmp |= MAY_BE_ARRAY_KEY_STRING; } } + } else if (opline->opcode == ZEND_FETCH_DIM_UNSET) { + if (t1 & MAY_BE_ARRAY) { + tmp |= MAY_BE_RC1; + } + if (t1 & MAY_BE_OBJECT) { + tmp |= t1 & MAY_BE_RCN; + } } j = ssa_vars[ssa_ops[i].result_def].use_chain; while (j >= 0) { -- 2.40.0