From f07d770f0b112263bbd5b6acf50bf5d7a1741cc1 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 4 Jun 2015 17:20:37 +0300 Subject: [PATCH] Specialize out useless checks. Only IS_VAR may be EG(error). --- Zend/zend_vm_def.h | 2 +- Zend/zend_vm_execute.h | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 0f9cdffc87..d82e9e3d62 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -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); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index aa68c9644b..40fe7c1a49 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -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; -- 2.50.1