]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6'
authorNikita Popov <nikic@php.net>
Fri, 19 Dec 2014 20:51:05 +0000 (21:51 +0100)
committerNikita Popov <nikic@php.net>
Fri, 19 Dec 2014 20:51:05 +0000 (21:51 +0100)
Conflicts:
ext/opcache/Optimizer/pass2.c

1  2 
ext/opcache/Optimizer/pass2.c

index 4c839edf5a68e299dff0a4b4411e710faf241ff2,8704b787a9a195e06bf0972fb96d0a773791f5c1..b1c677237d019515b8c706ead9fcca33cff79951
@@@ -189,11 -160,11 +189,10 @@@ void zend_optimizer_pass2(zend_op_arra
                                        int nest_levels;
                                        int dont_optimize = 0;
  
--                                      if (ZEND_OP2_TYPE(opline) != IS_CONST) {
--                                              break;
--                                      }
--                                      convert_to_long(&ZEND_OP2_LITERAL(opline));
--                                      nest_levels = ZEND_OP2_LITERAL(opline).value.lval;
++                                      ZEND_ASSERT(ZEND_OP2_TYPE(opline) == IS_CONST);
++                                      ZEND_ASSERT(Z_TYPE(ZEND_OP2_LITERAL(opline)) == IS_LONG);
++
++                                      nest_levels = Z_LVAL(ZEND_OP2_LITERAL(opline));
  
                                        array_offset = ZEND_OP1(opline).opline_num;
                                        while (1) {
                                                jmp_to = &op_array->brk_cont_array[array_offset];
                                                array_offset = jmp_to->parent;
                                                if (--nest_levels > 0) {
-                                                       if (opline->opcode == ZEND_BRK &&
-                                                           op_array->opcodes[jmp_to->brk].opcode == ZEND_FREE) {
 -                                                      if (op_array->opcodes[jmp_to->brk].opcode == ZEND_FREE ||
 -                                                          op_array->opcodes[jmp_to->brk].opcode == ZEND_SWITCH_FREE
 -                                                      ) {
++                                                      if (op_array->opcodes[jmp_to->brk].opcode == ZEND_FREE) {
                                                                dont_optimize = 1;
                                                                break;
                                                        }