]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.0'
authorXinchen Hui <laruence@gmail.com>
Thu, 17 Mar 2016 14:45:19 +0000 (07:45 -0700)
committerXinchen Hui <laruence@gmail.com>
Thu, 17 Mar 2016 14:51:26 +0000 (07:51 -0700)
Conflicts:
Zend/zend_compile.c

1  2 
Zend/zend_compile.c
ext/standard/array.c

index af3427b5b8149bfc4ae8a8a207a42807fa6097bc,1d7cd3638102ad93fa831e3ef1967a997849d344..d05872e6c07f9b904c7154e8ef554454cec65b5d
@@@ -750,13 -656,22 +767,13 @@@ void zend_do_free(znode *op1) /* {{{ *
                                if (opline->opcode == ZEND_FETCH_LIST &&
                                    opline->op1_type == IS_VAR &&
                                    opline->op1.var == op1->u.op.var) {
 -                                      opline = get_next_op(CG(active_op_array));
 -
 -                                      opline->opcode = ZEND_FREE;
 -                                      SET_NODE(opline->op1, op1);
 -                                      SET_UNUSED(opline->op2);
 +                                      zend_emit_op(NULL, ZEND_FREE, op1, NULL);
                                        return;
                                }
-                               if (opline->result_type==IS_VAR
+                               if (opline->result_type == IS_VAR
                                        && opline->result.var == op1->u.op.var) {
                                        if (opline->opcode == ZEND_NEW) {
 -                                              opline->result_type |= EXT_TYPE_UNUSED;
 -                                              opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1];
 -                                              while (opline->opcode != ZEND_DO_FCALL || opline->op1.num != ZEND_CALL_CTOR) {
 -                                                      opline--;
 -                                              }
 -                                              opline->op1.num |= ZEND_CALL_CTOR_RESULT_UNUSED;
 +                                              zend_emit_op(NULL, ZEND_FREE, op1, NULL);
                                        }
                                        break;
                                }
@@@ -6451,7 -6067,7 +6468,7 @@@ void zend_compile_short_circuiting(znod
  
                                zval_ptr_dtor(&right_node.u.constant);
                        } else {
--                              zend_emit_op(result, ZEND_BOOL, &right_node, NULL);
++                              zend_emit_op_tmp(result, ZEND_BOOL, &right_node, NULL);
                        }
                }
  
Simple merge