com php-src: for some reason gcc -O2 compiled the previous code in unexpected way: Zend/zend_vm_def.h Zend/zend_vm_exe cute.h

From: Date: Fri, 11 Apr 2014 14:16:03 +0000
Subject: com php-src: for some reason gcc -O2 compiled the previous code in unexpected way: Zend/zend_vm_def.h Zend/zend_vm_exe cute.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-77419@lists.php.net to get a copy of this message
Commit: e27eca90a58bdf90e33cd13290e4b2208a62bf7c Author: Dmitry Stogov <dmitry@zend.com> Fri, 11 Apr 2014 18:16:03 +0400 Parents: a6123151c7e67bc8355fa985182267aa4acb6bcc Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e27eca90a58bdf90e33cd13290e4b2208a62bf7c Log: for some reason gcc -O2 compiled the previous code in unexpected way Changed paths: M Zend/zend_vm_def.h M Zend/zend_vm_execute.h Diff: diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index c90a4b4..dbb89e6 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -4212,7 +4212,7 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY) { USE_OPLINE zend_free_op free_op1; - zval *array_ptr, *array_ref; + zval *array_ptr, *array_ref, iterator; HashTable *fe_ht; zend_object_iterator *iter = NULL; zend_class_entry *ce = NULL; @@ -4308,11 +4308,8 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY) FREE_OP1_IF_VAR(); } if (iter && EXPECTED(EG(exception) == NULL)) { - zval iterator; - + ZVAL_OBJ(&iterator, &iter->std); array_ptr = array_ref = &iterator; - ZVAL_OBJ(array_ptr, &iter->std); - } else { if (OP1_TYPE == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) { FREE_OP1_VAR_PTR(); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index dd23856..643ebd6 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -2947,7 +2947,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A { USE_OPLINE - zval *array_ptr, *array_ref; + zval *array_ptr, *array_ref, iterator; HashTable *fe_ht; zend_object_iterator *iter = NULL; zend_class_entry *ce = NULL; @@ -3043,11 +3043,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A } if (iter && EXPECTED(EG(exception) == NULL)) { - zval iterator; - + ZVAL_OBJ(&iterator, &iter->std); array_ptr = array_ref = &iterator; - ZVAL_OBJ(array_ptr, &iter->std); - } else { if (IS_CONST == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) { @@ -7931,7 +7928,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG { USE_OPLINE zend_free_op free_op1; - zval *array_ptr, *array_ref; + zval *array_ptr, *array_ref, iterator; HashTable *fe_ht; zend_object_iterator *iter = NULL; zend_class_entry *ce = NULL; @@ -8027,11 +8024,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG } if (iter && EXPECTED(EG(exception) == NULL)) { - zval iterator; - + ZVAL_OBJ(&iterator, &iter->std); array_ptr = array_ref = &iterator; - ZVAL_OBJ(array_ptr, &iter->std); - } else { if (IS_TMP_VAR == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) { @@ -12960,7 +12954,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG { USE_OPLINE zend_free_op free_op1; - zval *array_ptr, *array_ref; + zval *array_ptr, *array_ref, iterator; HashTable *fe_ht; zend_object_iterator *iter = NULL; zend_class_entry *ce = NULL; @@ -13056,11 +13050,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG zval_ptr_dtor_nogc(free_op1.var); } if (iter && EXPECTED(EG(exception) == NULL)) { - zval iterator; - + ZVAL_OBJ(&iterator, &iter->std); array_ptr = array_ref = &iterator; - ZVAL_OBJ(array_ptr, &iter->std); - } else { if (IS_VAR == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) { if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);}; @@ -30482,7 +30473,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS { USE_OPLINE - zval *array_ptr, *array_ref; + zval *array_ptr, *array_ref, iterator; HashTable *fe_ht; zend_object_iterator *iter = NULL; zend_class_entry *ce = NULL; @@ -30578,11 +30569,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS } if (iter && EXPECTED(EG(exception) == NULL)) { - zval iterator; - + ZVAL_OBJ(&iterator, &iter->std); array_ptr = array_ref = &iterator; - ZVAL_OBJ(array_ptr, &iter->std); - } else { if (IS_CV == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) {

« previous php.cvs (#77419) next »