From 04dc5d742091f991b7630a53df8d7ccd137d2797 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 2 Jan 2016 19:33:38 +0100 Subject: [PATCH] Range&type inference for JMP_SET --- ext/opcache/Optimizer/zend_inference.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c index 3206634534..f87f6f529b 100644 --- a/ext/opcache/Optimizer/zend_inference.c +++ b/ext/opcache/Optimizer/zend_inference.c @@ -1031,6 +1031,7 @@ int zend_inference_calc_range(const zend_op_array *op_array, zend_ssa *ssa, int } break; case ZEND_QM_ASSIGN: + case ZEND_JMP_SET: case ZEND_COALESCE: if (ssa->ops[line].result_def == var) { if (OP1_HAS_RANGE()) { @@ -2350,6 +2351,7 @@ static void zend_update_type_info(const zend_op_array *op_array, UPDATE_SSA_TYPE(tmp, ssa_ops[i].result_def); break; case ZEND_QM_ASSIGN: + case ZEND_JMP_SET: case ZEND_COALESCE: tmp = t1 & ~(MAY_BE_UNDEF|MAY_BE_REF); if (t1 & MAY_BE_UNDEF) { @@ -3421,10 +3423,6 @@ static void zend_update_type_info(const zend_op_array *op_array, break; // case ZEND_CATCH: // TODO: ??? -// break; -// case ZEND_JMP_SET: -// case ZEND_COALESCE: -// TODO: ??? // break; case ZEND_FETCH_DIM_R: case ZEND_FETCH_DIM_IS: -- 2.40.0