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

version 1.1.1.4, 2013/10/14 08:02:49 version 1.1.1.5, 2014/06/15 20:04:04
Line 2 Line 2
    +----------------------------------------------------------------------+     +----------------------------------------------------------------------+
    | Zend Engine                                                          |     | Zend Engine                                                          |
    +----------------------------------------------------------------------+     +----------------------------------------------------------------------+
   | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |   | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
    +----------------------------------------------------------------------+     +----------------------------------------------------------------------+
    | This source file is subject to version 2.00 of the Zend license,     |     | This source file is subject to version 2.00 of the Zend license,     |
    | that is bundled with this package in the file LICENSE, and is        |     | that is bundled with this package in the file LICENSE, and is        |
Line 1166  ZEND_VM_HANDLER(81, ZEND_FETCH_DIM_R, VAR|CV, CONST|TM Line 1166  ZEND_VM_HANDLER(81, ZEND_FETCH_DIM_R, VAR|CV, CONST|TM
 {  {
         USE_OPLINE          USE_OPLINE
         zend_free_op free_op1, free_op2;          zend_free_op free_op1, free_op2;
        zval **container;        zval *container;
   
         SAVE_OPLINE();          SAVE_OPLINE();
   
        if ((opline->extended_value & ZEND_FETCH_ADD_LOCK) &&        if (OP1_TYPE == IS_VAR && (opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
            OP1_TYPE != IS_CV &&                PZVAL_LOCK(EX_T(opline->op1.var).var.ptr);
            EX_T(opline->op1.var).var.ptr_ptr) { 
                PZVAL_LOCK(*EX_T(opline->op1.var).var.ptr_ptr); 
         }          }
        container = GET_OP1_ZVAL_PTR_PTR(BP_VAR_R);        container = GET_OP1_ZVAL_PTR(BP_VAR_R);
         zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, GET_OP2_ZVAL_PTR(BP_VAR_R), OP2_TYPE, BP_VAR_R TSRMLS_CC);          zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, GET_OP2_ZVAL_PTR(BP_VAR_R), OP2_TYPE, BP_VAR_R TSRMLS_CC);
         FREE_OP2();          FREE_OP2();
        FREE_OP1_VAR_PTR();        FREE_OP1();
         CHECK_EXCEPTION();          CHECK_EXCEPTION();
         ZEND_VM_NEXT_OPCODE();          ZEND_VM_NEXT_OPCODE();
 }  }
Line 1243  ZEND_VM_HANDLER(90, ZEND_FETCH_DIM_IS, VAR|CV, CONST|T Line 1241  ZEND_VM_HANDLER(90, ZEND_FETCH_DIM_IS, VAR|CV, CONST|T
 {  {
         USE_OPLINE          USE_OPLINE
         zend_free_op free_op1, free_op2;          zend_free_op free_op1, free_op2;
        zval **container;        zval *container;
   
         SAVE_OPLINE();          SAVE_OPLINE();
        container = GET_OP1_ZVAL_PTR_PTR(BP_VAR_IS);        container = GET_OP1_ZVAL_PTR(BP_VAR_IS);
         zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, GET_OP2_ZVAL_PTR(BP_VAR_R), OP2_TYPE, BP_VAR_IS TSRMLS_CC);          zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, GET_OP2_ZVAL_PTR(BP_VAR_R), OP2_TYPE, BP_VAR_IS TSRMLS_CC);
         FREE_OP2();          FREE_OP2();
        FREE_OP1_VAR_PTR();        FREE_OP1();
         CHECK_EXCEPTION();          CHECK_EXCEPTION();
         ZEND_VM_NEXT_OPCODE();          ZEND_VM_NEXT_OPCODE();
 }  }
Line 1258  ZEND_VM_HANDLER(93, ZEND_FETCH_DIM_FUNC_ARG, VAR|CV, C Line 1256  ZEND_VM_HANDLER(93, ZEND_FETCH_DIM_FUNC_ARG, VAR|CV, C
 {  {
         USE_OPLINE          USE_OPLINE
         zend_free_op free_op1, free_op2;          zend_free_op free_op1, free_op2;
         zval **container;  
   
         SAVE_OPLINE();          SAVE_OPLINE();
   
         if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), (opline->extended_value & ZEND_FETCH_ARG_MASK))) {          if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), (opline->extended_value & ZEND_FETCH_ARG_MASK))) {
                container = GET_OP1_ZVAL_PTR_PTR(BP_VAR_W);                zval **container = GET_OP1_ZVAL_PTR_PTR(BP_VAR_W);
 
                 if (OP1_TYPE == IS_VAR && UNEXPECTED(container == NULL)) {                  if (OP1_TYPE == IS_VAR && UNEXPECTED(container == NULL)) {
                         zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");                          zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
                 }                  }
Line 1271  ZEND_VM_HANDLER(93, ZEND_FETCH_DIM_FUNC_ARG, VAR|CV, C Line 1269  ZEND_VM_HANDLER(93, ZEND_FETCH_DIM_FUNC_ARG, VAR|CV, C
                 if (OP1_TYPE == IS_VAR && OP1_FREE && READY_TO_DESTROY(free_op1.var)) {                  if (OP1_TYPE == IS_VAR && OP1_FREE && READY_TO_DESTROY(free_op1.var)) {
                         EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));                          EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
                 }                  }
                   FREE_OP2();
                   FREE_OP1_VAR_PTR();
         } else {          } else {
                   zval *container;
   
                 if (OP2_TYPE == IS_UNUSED) {                  if (OP2_TYPE == IS_UNUSED) {
                         zend_error_noreturn(E_ERROR, "Cannot use [] for reading");                          zend_error_noreturn(E_ERROR, "Cannot use [] for reading");
                 }                  }
                container = GET_OP1_ZVAL_PTR_PTR(BP_VAR_R);                container = GET_OP1_ZVAL_PTR(BP_VAR_R);
                 zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, GET_OP2_ZVAL_PTR(BP_VAR_R), OP2_TYPE, BP_VAR_R TSRMLS_CC);                  zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, GET_OP2_ZVAL_PTR(BP_VAR_R), OP2_TYPE, BP_VAR_R TSRMLS_CC);
                   FREE_OP2();
                   FREE_OP1();
         }          }
         FREE_OP2();  
         FREE_OP1_VAR_PTR();  
         CHECK_EXCEPTION();          CHECK_EXCEPTION();
         ZEND_VM_NEXT_OPCODE();          ZEND_VM_NEXT_OPCODE();
 }  }

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


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