diff options
Diffstat (limited to 'ext/opcache/Optimizer/block_pass.c')
-rw-r--r-- | ext/opcache/Optimizer/block_pass.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c index c146d0cc8c..bf3f144cc1 100644 --- a/ext/opcache/Optimizer/block_pass.c +++ b/ext/opcache/Optimizer/block_pass.c @@ -716,8 +716,11 @@ static void zend_optimize_block(zend_code_block *block, zend_op_array *op_array, if (src->opcode == ZEND_BOOL) { if (ZEND_OP1_TYPE(src) == IS_CONST) { literal_dtor(&ZEND_OP1_LITERAL(src)); + } else if (ZEND_OP1_TYPE(src) == IS_TMP_VAR) { + src->opcode = ZEND_FREE; + } else { + MAKE_NOP(src); } - MAKE_NOP(src); MAKE_NOP(opline); } } |