com php-src: Fixed type-info for ZEND_FETCH_DIIM_UNSET: ext/opcache/Optimizer/zend_inference.c
| From: | Xinchen Hui | Date: | Sat, 19 Aug 2017 10:48:10 +0000 |
| Subject: | com php-src: Fixed type-info for ZEND_FETCH_DIIM_UNSET: ext/opcache/Optimizer/zend_inference.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-99101@lists.php.net to get a copy of this message | ||
Commit: ea0df0739837f5df33c3fbae6c3f6ad5090086e3
Author: Xinchen Hui <laruence@gmail.com> Sat, 19 Aug 2017 18:48:10 +0800
Parents: 9b327ff15fbe01c10cd6acf73b0d158ba09ec53d
Branches: PHP-7.2 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ea0df0739837f5df33c3fbae6c3f6ad5090086e3
Log:
Fixed type-info for ZEND_FETCH_DIIM_UNSET
Changed paths:
M ext/opcache/Optimizer/zend_inference..c
Diff:
diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c
index 9d5d6cf..39ff7d8 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) {