]> granicus.if.org Git - php/commitdiff
simplification
authorDmitry Stogov <dmitry@zend.com>
Mon, 6 Jun 2016 12:50:06 +0000 (15:50 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 6 Jun 2016 12:50:06 +0000 (15:50 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 38015759ed62f9c759ade1636285ecc3476fa918..09afc7c9976c5a45a9ca62881cfb1dbdd29fc3c0 100644 (file)
@@ -4300,20 +4300,15 @@ ZEND_VM_HANDLER(106, ZEND_SEND_VAR_NO_REF, VAR, NUM)
        zval *varptr, *arg;
 
        varptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
+       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+       ZVAL_COPY_VALUE(arg, varptr);
 
        if (EXPECTED(Z_ISREF_P(varptr))) {
-               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-               ZVAL_COPY_VALUE(arg, varptr);
-
                ZEND_VM_NEXT_OPCODE();
        }
 
        SAVE_OPLINE();
        zend_error(E_NOTICE, "Only variables should be passed by reference");
-
-       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-       ZVAL_COPY_VALUE(arg, varptr);
-
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -4330,12 +4325,11 @@ ZEND_VM_HANDLER(50, ZEND_SEND_VAR_NO_REF_EX, VAR, NUM, SPEC(QUICK_ARG))
                }
 
                varptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
+               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+               ZVAL_COPY_VALUE(arg, varptr);
 
                if (EXPECTED(Z_ISREF_P(varptr) ||
                    QUICK_ARG_MAY_BE_SENT_BY_REF(EX(call)->func, arg_num))) {
-                       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-                       ZVAL_COPY_VALUE(arg, varptr);
-
                        ZEND_VM_NEXT_OPCODE();
                }
        } else {
@@ -4344,22 +4338,17 @@ ZEND_VM_HANDLER(50, ZEND_SEND_VAR_NO_REF_EX, VAR, NUM, SPEC(QUICK_ARG))
                }
 
                varptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
+               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+               ZVAL_COPY_VALUE(arg, varptr);
 
                if (EXPECTED(Z_ISREF_P(varptr) ||
                    ARG_MAY_BE_SENT_BY_REF(EX(call)->func, arg_num))) {
-                       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-                       ZVAL_COPY_VALUE(arg, varptr);
-
                        ZEND_VM_NEXT_OPCODE();
                }
        }
 
        SAVE_OPLINE();
        zend_error(E_NOTICE, "Only variables should be passed by reference");
-
-       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-       ZVAL_COPY_VALUE(arg, varptr);
-
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
index 03c64fa1a7a18a27967a20906e6b333dc18655ef..86543f561a387001333621ea5afb033e02df33d0 100644 (file)
@@ -15601,20 +15601,15 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_SPEC_VAR_HANDL
        zval *varptr, *arg;
 
        varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
+       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+       ZVAL_COPY_VALUE(arg, varptr);
 
        if (EXPECTED(Z_ISREF_P(varptr))) {
-               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-               ZVAL_COPY_VALUE(arg, varptr);
-
                ZEND_VM_NEXT_OPCODE();
        }
 
        SAVE_OPLINE();
        zend_error(E_NOTICE, "Only variables should be passed by reference");
-
-       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-       ZVAL_COPY_VALUE(arg, varptr);
-
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -15631,12 +15626,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_HA
                }
 
                varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
+               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+               ZVAL_COPY_VALUE(arg, varptr);
 
                if (EXPECTED(Z_ISREF_P(varptr) ||
                    QUICK_ARG_MAY_BE_SENT_BY_REF(EX(call)->func, arg_num))) {
-                       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-                       ZVAL_COPY_VALUE(arg, varptr);
-
                        ZEND_VM_NEXT_OPCODE();
                }
        } else {
@@ -15645,22 +15639,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_HA
                }
 
                varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
+               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+               ZVAL_COPY_VALUE(arg, varptr);
 
                if (EXPECTED(Z_ISREF_P(varptr) ||
                    ARG_MAY_BE_SENT_BY_REF(EX(call)->func, arg_num))) {
-                       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-                       ZVAL_COPY_VALUE(arg, varptr);
-
                        ZEND_VM_NEXT_OPCODE();
                }
        }
 
        SAVE_OPLINE();
        zend_error(E_NOTICE, "Only variables should be passed by reference");
-
-       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-       ZVAL_COPY_VALUE(arg, varptr);
-
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -15677,12 +15666,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_QU
                }
 
                varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
+               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+               ZVAL_COPY_VALUE(arg, varptr);
 
                if (EXPECTED(Z_ISREF_P(varptr) ||
                    QUICK_ARG_MAY_BE_SENT_BY_REF(EX(call)->func, arg_num))) {
-                       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-                       ZVAL_COPY_VALUE(arg, varptr);
-
                        ZEND_VM_NEXT_OPCODE();
                }
        } else {
@@ -15691,22 +15679,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_QU
                }
 
                varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
+               arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+               ZVAL_COPY_VALUE(arg, varptr);
 
                if (EXPECTED(Z_ISREF_P(varptr) ||
                    ARG_MAY_BE_SENT_BY_REF(EX(call)->func, arg_num))) {
-                       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-                       ZVAL_COPY_VALUE(arg, varptr);
-
                        ZEND_VM_NEXT_OPCODE();
                }
        }
 
        SAVE_OPLINE();
        zend_error(E_NOTICE, "Only variables should be passed by reference");
-
-       arg = ZEND_CALL_VAR(EX(call), opline->result.var);
-       ZVAL_COPY_VALUE(arg, varptr);
-
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }