]> granicus.if.org Git - php/commitdiff
Generatirs are going to be used less than regular functions
authorDmitry Stogov <dmitry@zend.com>
Thu, 6 Dec 2012 09:14:31 +0000 (13:14 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 6 Dec 2012 09:14:31 +0000 (13:14 +0400)
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 1098c9efaf6b5daaebb6285022f93cfa515918b6..e6034ba2030da34ecdd03632bdd434b8aea1b911 100644 (file)
@@ -1598,7 +1598,7 @@ static zend_always_inline zend_execute_data *i_create_execute_data_from_op_array
         * restore it simply by replacing a pointer. The same segment also keeps
         * a copy of previous execute_data and passed parameters.
         */
-       if (op_array->fn_flags & ZEND_ACC_GENERATOR) {
+       if (UNEXPECTED((op_array->fn_flags & ZEND_ACC_GENERATOR) != 0)) {
                /* Prepend the regular stack frame with copy on prev_execute_data
                 * and passed arguments
                 */
index 2b65275fa6ba619d34f906d30376948fd27f4722..edbffe12c9902a9d4d4fe7c5c581153f69729ed3 100644 (file)
@@ -2049,7 +2049,7 @@ ZEND_VM_HELPER(zend_do_fcall_common_helper, ANY, ANY)
                        ret->var.fcall_returned_reference = (fbc->common.fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0;
                }
 
-               if (EG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) {
+               if (UNEXPECTED((EG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) {
                        if (RETURN_VALUE_USED(opline)) {
                                EX_T(opline->result.var).var.ptr = zend_generator_create_zval(EG(active_op_array) TSRMLS_CC);
                        }
index 5971cc9047218f4a935b2e4ba09df56908fb08a0..80967bdfb3c8eda7e5c373ab1688b2f5a272e3b5 100644 (file)
@@ -590,7 +590,7 @@ static int ZEND_FASTCALL zend_do_fcall_common_helper_SPEC(ZEND_OPCODE_HANDLER_AR
                        ret->var.fcall_returned_reference = (fbc->common.fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0;
                }
 
-               if (EG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) {
+               if (UNEXPECTED((EG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) {
                        if (RETURN_VALUE_USED(opline)) {
                                EX_T(opline->result.var).var.ptr = zend_generator_create_zval(EG(active_op_array) TSRMLS_CC);
                        }