Diff for /embedaddon/php/Zend/zend_vm_def.h between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2013/07/22 01:32:16 version 1.1.1.4, 2013/10/14 08:02:49
Line 2229  ZEND_VM_HANDLER(113, ZEND_INIT_STATIC_METHOD_CALL, CON Line 2229  ZEND_VM_HANDLER(113, ZEND_INIT_STATIC_METHOD_CALL, CON
                         ce = CACHED_PTR(opline->op1.literal->cache_slot);                          ce = CACHED_PTR(opline->op1.literal->cache_slot);
                 } else {                  } else {
                         ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC);                          ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC);
                           if (UNEXPECTED(EG(exception) != NULL)) {
                                   HANDLE_EXCEPTION();
                           }
                         if (UNEXPECTED(ce == NULL)) {                          if (UNEXPECTED(ce == NULL)) {
                                CHECK_EXCEPTION();                                zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv));
                                ZEND_VM_NEXT_OPCODE(); 
                         }                          }
                         CACHE_PTR(opline->op1.literal->cache_slot, ce);                          CACHE_PTR(opline->op1.literal->cache_slot, ce);
                 }                  }
Line 2414  ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONS Line 2416  ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONS
   
                         if (Z_TYPE_PP(obj) == IS_STRING) {                          if (Z_TYPE_PP(obj) == IS_STRING) {
                                 ce = zend_fetch_class_by_name(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), NULL, 0 TSRMLS_CC);                                  ce = zend_fetch_class_by_name(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), NULL, 0 TSRMLS_CC);
                                   if (UNEXPECTED(EG(exception) != NULL)) {
                                           HANDLE_EXCEPTION();
                                   }
                                 if (UNEXPECTED(ce == NULL)) {                                  if (UNEXPECTED(ce == NULL)) {
                                        CHECK_EXCEPTION();                                        zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_PP(obj));
                                        ZEND_VM_NEXT_OPCODE(); 
                                 }                                  }
                                 EX(called_scope) = ce;                                  EX(called_scope) = ce;
                                 EX(object) = NULL;                                  EX(object) = NULL;
Line 2906  ZEND_VM_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR Line 2910  ZEND_VM_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR
                         } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {                          } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {
                                 zend_error(E_NOTICE, "Only variable references should be returned by reference");                                  zend_error(E_NOTICE, "Only variable references should be returned by reference");
                                 if (EG(return_value_ptr_ptr)) {                                  if (EG(return_value_ptr_ptr)) {
                                        retval_ptr = *retval_ptr_ptr;                                        zval *ret;
                                        *EG(return_value_ptr_ptr) = retval_ptr;
                                        Z_ADDREF_P(retval_ptr);                                        ALLOC_ZVAL(ret);
                                         INIT_PZVAL_COPY(ret, *retval_ptr_ptr);
                                         zval_copy_ctor(ret);
                                         *EG(return_value_ptr_ptr) = ret;
                                 }                                  }
                                 break;                                  break;
                         }                          }
Line 2977  ZEND_VM_HANDLER(107, ZEND_CATCH, CONST, CV) Line 2984  ZEND_VM_HANDLER(107, ZEND_CATCH, CONST, CV)
   
 #ifdef HAVE_DTRACE  #ifdef HAVE_DTRACE
         if (DTRACE_EXCEPTION_CAUGHT_ENABLED()) {          if (DTRACE_EXCEPTION_CAUGHT_ENABLED()) {
                DTRACE_EXCEPTION_CAUGHT(ce->name);                DTRACE_EXCEPTION_CAUGHT((char *)ce->name);
         }          }
 #endif /* HAVE_DTRACE */  #endif /* HAVE_DTRACE */
   
Line 3268  ZEND_VM_HANDLER(50, ZEND_BRK, ANY, CONST) Line 3275  ZEND_VM_HANDLER(50, ZEND_BRK, ANY, CONST)
         SAVE_OPLINE();          SAVE_OPLINE();
         el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num,          el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num,
                            EX(op_array), EX_Ts() TSRMLS_CC);                             EX(op_array), EX_Ts() TSRMLS_CC);
         FREE_OP2();  
         ZEND_VM_JMP(EX(op_array)->opcodes + el->brk);          ZEND_VM_JMP(EX(op_array)->opcodes + el->brk);
 }  }
   
Line 3280  ZEND_VM_HANDLER(51, ZEND_CONT, ANY, CONST) Line 3286  ZEND_VM_HANDLER(51, ZEND_CONT, ANY, CONST)
         SAVE_OPLINE();          SAVE_OPLINE();
         el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num,          el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num,
                            EX(op_array), EX_Ts() TSRMLS_CC);                             EX(op_array), EX_Ts() TSRMLS_CC);
         FREE_OP2();  
         ZEND_VM_JMP(EX(op_array)->opcodes + el->cont);          ZEND_VM_JMP(EX(op_array)->opcodes + el->cont);
 }  }
   
Line 3500  ZEND_VM_HANDLER(99, ZEND_FETCH_CONSTANT, VAR|CONST|UNU Line 3505  ZEND_VM_HANDLER(99, ZEND_FETCH_CONSTANT, VAR|CONST|UNU
                                 ce = CACHED_PTR(opline->op1.literal->cache_slot);                                  ce = CACHED_PTR(opline->op1.literal->cache_slot);
                         } else {                          } else {
                                 ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC);                                  ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC);
                                   if (UNEXPECTED(EG(exception) != NULL)) {
                                           HANDLE_EXCEPTION();
                                   }
                                 if (UNEXPECTED(ce == NULL)) {                                  if (UNEXPECTED(ce == NULL)) {
                                        CHECK_EXCEPTION();                                        zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv));
                                        ZEND_VM_NEXT_OPCODE(); 
                                 }                                  }
                                 CACHE_PTR(opline->op1.literal->cache_slot, ce);                                  CACHE_PTR(opline->op1.literal->cache_slot, ce);
                         }                          }
Line 3889  ZEND_VM_HANDLER(74, ZEND_UNSET_VAR, CONST|TMP|VAR|CV,  Line 3896  ZEND_VM_HANDLER(74, ZEND_UNSET_VAR, CONST|TMP|VAR|CV, 
                                 ce = CACHED_PTR(opline->op2.literal->cache_slot);                                  ce = CACHED_PTR(opline->op2.literal->cache_slot);
                         } else {                          } else {
                                 ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);                                  ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
                                if (UNEXPECTED(ce == NULL)) {                                if (UNEXPECTED(EG(exception) != NULL)) {
                                         if (OP1_TYPE != IS_CONST && varname == &tmp) {                                          if (OP1_TYPE != IS_CONST && varname == &tmp) {
                                                 zval_dtor(&tmp);                                                  zval_dtor(&tmp);
                                         } else if (OP1_TYPE == IS_VAR || OP1_TYPE == IS_CV) {                                          } else if (OP1_TYPE == IS_VAR || OP1_TYPE == IS_CV) {
                                                 zval_ptr_dtor(&varname);                                                  zval_ptr_dtor(&varname);
                                         }                                          }
                                         FREE_OP1();                                          FREE_OP1();
                                        CHECK_EXCEPTION();                                        HANDLE_EXCEPTION();
                                        ZEND_VM_NEXT_OPCODE();                                }
                                 if (UNEXPECTED(ce == NULL)) {
                                         zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv));
                                 }                                  }
                                 CACHE_PTR(opline->op2.literal->cache_slot, ce);                                  CACHE_PTR(opline->op2.literal->cache_slot, ce);
                         }                          }

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>