]> granicus.if.org Git - php/commitdiff
Specialize out useless checks. Only IS_VAR may be EG(error).
authorDmitry Stogov <dmitry@zend.com>
Thu, 4 Jun 2015 14:20:37 +0000 (17:20 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 4 Jun 2015 14:20:37 +0000 (17:20 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 0f9cdffc87130714626e04b36c58bd02e28916cf..d82e9e3d62cc73eb572bc73e89a120390fe193b5 100644 (file)
@@ -2229,7 +2229,7 @@ ZEND_VM_C_LABEL(assign_dim_convert_to_array):
                                ZEND_VM_C_GOTO(try_assign_dim_array);
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (OP1_TYPE == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                ZEND_VM_C_GOTO(assign_dim_clean);
                        }
                        ZEND_VM_C_GOTO(assign_dim_convert_to_array);
index aa68c9644b6a319a90c35bb91fb19450c98a56f9..40fe7c1a49510c629aff2fb490d61bd74570e978 100644 (file)
@@ -17469,7 +17469,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_VAR == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -19110,7 +19110,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_VAR == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -20640,7 +20640,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_VAR == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -22293,7 +22293,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_VAR == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -31649,7 +31649,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_CV == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -34385,7 +34385,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_CV == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -36644,7 +36644,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_CV == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;
@@ -39292,7 +39292,7 @@ assign_dim_convert_to_array:
                                goto try_assign_dim_array;
                        }
                } else if (EXPECTED(Z_TYPE_P(object_ptr) <= IS_FALSE)) {
-                       if (UNEXPECTED(object_ptr == &EG(error_zval))) {
+                       if (IS_CV == IS_VAR && UNEXPECTED(object_ptr == &EG(error_zval))) {
                                goto assign_dim_clean;
                        }
                        goto assign_dim_convert_to_array;