From 66f5a1e8b4de3c691a5de84fb08715c78401bf6b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 6 Mar 2015 17:07:36 +0300 Subject: [PATCH] Make fast path linear --- Zend/zend_inheritance.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index dd0d302a7b..c48718c46c 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -57,8 +57,8 @@ static zend_function *zend_duplicate_function(zend_function *func, zend_class_en { zend_function *new_function; - if (func->type == ZEND_INTERNAL_FUNCTION) { - if (ce->type & ZEND_INTERNAL_CLASS) { + if (UNEXPECTED(func->type == ZEND_INTERNAL_FUNCTION)) { + if (UNEXPECTED(ce->type & ZEND_INTERNAL_CLASS)) { new_function = pemalloc(sizeof(zend_internal_function), 1); memcpy(new_function, func, sizeof(zend_internal_function)); } else { @@ -66,7 +66,7 @@ static zend_function *zend_duplicate_function(zend_function *func, zend_class_en memcpy(new_function, func, sizeof(zend_internal_function)); new_function->common.fn_flags |= ZEND_ACC_ARENA_ALLOCATED; } - if (new_function->common.function_name) { + if (EXPECTED(new_function->common.function_name)) { zend_string_addref(new_function->common.function_name); } } else { @@ -595,7 +595,7 @@ static void do_inherit_property(zend_property_info *parent_info, zend_string *ke if (UNEXPECTED(child)) { child_info = Z_PTR_P(child); - if (parent_info->flags & (ZEND_ACC_PRIVATE|ZEND_ACC_SHADOW)) { + if (UNEXPECTED(parent_info->flags & (ZEND_ACC_PRIVATE|ZEND_ACC_SHADOW))) { child_info->flags |= ZEND_ACC_CHANGED; } else { if (UNEXPECTED((parent_info->flags & ZEND_ACC_STATIC) != (child_info->flags & ZEND_ACC_STATIC))) { @@ -621,8 +621,8 @@ static void do_inherit_property(zend_property_info *parent_info, zend_string *ke } } } else { - if (parent_info->flags & (ZEND_ACC_PRIVATE|ZEND_ACC_SHADOW)) { - if(ce->type & ZEND_INTERNAL_CLASS) { + if (UNEXPECTED(parent_info->flags & (ZEND_ACC_PRIVATE|ZEND_ACC_SHADOW))) { + if (UNEXPECTED(ce->type & ZEND_INTERNAL_CLASS)) { child_info = zend_duplicate_property_info_internal(parent_info); } else { child_info = zend_duplicate_property_info(parent_info); @@ -630,7 +630,7 @@ static void do_inherit_property(zend_property_info *parent_info, zend_string *ke child_info->flags &= ~ZEND_ACC_PRIVATE; /* it's not private anymore */ child_info->flags |= ZEND_ACC_SHADOW; /* but it's a shadow of private */ } else { - if (ce->type & ZEND_INTERNAL_CLASS) { + if (UNEXPECTED(ce->type & ZEND_INTERNAL_CLASS)) { child_info = zend_duplicate_property_info_internal(parent_info); } else { child_info = parent_info; -- 2.40.0