From: Dmitry Stogov Date: Thu, 13 Nov 2014 14:36:08 +0000 (+0300) Subject: Micro optimization X-Git-Tag: PRE_NATIVE_TLS_MERGE~130^2~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1f432c85b0431d5d4182cb8e80bac5df6c4df632;p=php Micro optimization --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 9e8e628362..f2a6fd15fd 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3124,12 +3124,11 @@ ZEND_VM_HANDLER(67, ZEND_SEND_REF, VAR|CV, ANY) ZVAL_COPY_VALUE(arg, varptr); } else if (OP1_TYPE == IS_VAR && UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) { - ZVAL_COPY_VALUE(arg, varptr); - ZVAL_MAKE_REF(arg); + ZVAL_NEW_REF(arg, varptr); } else { - ZVAL_MAKE_REF(varptr); - Z_ADDREF_P(varptr); - ZVAL_REF(arg, Z_REF_P(varptr)); + ZVAL_NEW_REF(arg, varptr); + Z_ADDREF_P(arg); + ZVAL_REF(varptr, Z_REF_P(arg)); } FREE_OP1_VAR_PTR(); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 8f4de2f8f6..776cc98dc6 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -16544,12 +16544,11 @@ static int ZEND_FASTCALL ZEND_SEND_REF_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG ZVAL_COPY_VALUE(arg, varptr); } else if (IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) { - ZVAL_COPY_VALUE(arg, varptr); - ZVAL_MAKE_REF(arg); + ZVAL_NEW_REF(arg, varptr); } else { - ZVAL_MAKE_REF(varptr); - Z_ADDREF_P(varptr); - ZVAL_REF(arg, Z_REF_P(varptr)); + ZVAL_NEW_REF(arg, varptr); + Z_ADDREF_P(arg); + ZVAL_REF(varptr, Z_REF_P(arg)); } if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);}; @@ -34339,12 +34338,11 @@ static int ZEND_FASTCALL ZEND_SEND_REF_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS ZVAL_COPY_VALUE(arg, varptr); } else if (IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_INDIRECT)) { - ZVAL_COPY_VALUE(arg, varptr); - ZVAL_MAKE_REF(arg); + ZVAL_NEW_REF(arg, varptr); } else { - ZVAL_MAKE_REF(varptr); - Z_ADDREF_P(varptr); - ZVAL_REF(arg, Z_REF_P(varptr)); + ZVAL_NEW_REF(arg, varptr); + Z_ADDREF_P(arg); + ZVAL_REF(varptr, Z_REF_P(arg)); } ZEND_VM_NEXT_OPCODE();