# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: kinkie@squid-cache.org-20101012154226-zn8im0ilbbr1p7vr # target_branch: file:///home/kinkie/squid/workspace/squid-trunk-co/ # testament_sha1: e69ce26d8ffa5a3519c81e25453faff4a0cb725b # timestamp: 2010-10-12 17:42:32 +0200 # base_revision_id: amosjeffries@squid-cache.org-20101006130311-\ # xnwwkgwnuhy5oj0r # # Begin patch === added file 'include/branch-hints.h' --- include/branch-hints.h 1970-01-01 00:00:00 +0000 +++ include/branch-hints.h 2010-10-12 15:42:26 +0000 @@ -0,0 +1,43 @@ +/* + * branch-hints.h (C) 2009 Francesco Chemolli + * + * SQUID Web Proxy Cache http://www.squid-cache.org/ + * ---------------------------------------------------------- + * + * Squid is the result of efforts by numerous individuals from + * the Internet community; see the CONTRIBUTORS file for full + * details. Many organizations have provided support for Squid's + * development; see the SPONSORS file for full details. Squid is + * Copyrighted (C) 2001 by the Regents of the University of + * California; see the COPYRIGHT file for full details. Squid + * incorporates software developed and/or copyrighted by other + * sources; see the CREDITS file for full details. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + * + */ + +#ifndef BRANCHHINTS_H_ +#define BRANCHHINTS_H_ + +#if defined(__GNUC__) +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#else +#define likely(x) (x) +#define unlikely(x) (x) +#endif /* __GNUC__ */ + +#endif /* BRANCHHINTS_H_ */ === modified file 'src/cache_manager.cc' --- src/cache_manager.cc 2010-08-16 11:35:40 +0000 +++ src/cache_manager.cc 2010-10-12 15:42:26 +0000 @@ -33,6 +33,7 @@ * */ +#include "branch-hints.h" #include "CacheManager.h" #include "errorpage.h" #include "HttpReply.h" @@ -478,7 +479,7 @@ CacheManager* CacheManager::GetInstance() { - if (instance == 0) { + if (unlikely(instance == 0)) { debugs(16, 6, "CacheManager::GetInstance: starting cachemanager up"); instance = new CacheManager; } # Begin bundle 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