📄 config.h
字号:
///-*-C++-*-////////////////////////////////////////////////////////////////////// Hoard: A Fast, Scalable, and Memory-Efficient Allocator// for Shared-Memory Multiprocessors// Contact author: Emery Berger, http://www.cs.utexas.edu/users/emery//// Copyright (c) 1998-2000, The University of Texas at Austin.//// This library is free software; you can redistribute it and/or modify// it under the terms of the GNU Library General Public License as// published by the Free Software Foundation, http://www.fsf.org.//// This library 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// Library General Public License for more details.////////////////////////////////////////////////////////////////////////////////#ifndef _CONFIG_H_#define _CONFIG_H_#ifndef _REENTRANT#define _REENTRANT // If defined, generate a multithreaded-capable version.#endif#ifndef USER_LOCKS#define USER_LOCKS 1 // Use our own user-level locks if they're available for the current architecture.#endif#define HEAP_LOG 0 // If non-zero, keep a log of heap accesses.///// You should not change anything below here. /////// The base of the exponential used for size classes.// An object is in size class i if// base^(b+i-1) * ALIGNMENT < size <= base^(b+i) * ALIGNMENT,// where b = log_base(ALIGNMENT).// Note that this puts an upper-limit on internal fragmentation:// if SIZE_CLASS_BASE is 1.2, then we will never see more than// 20% internal fragmentation (for aligned requests).#define SIZE_CLASS_BASE 1.2#define MAX_INTERNAL_FRAGMENTATION 2// The number of groups of superblocks we maintain based on what// fraction of the superblock is empty. NB: This number must be at// least 2, and is 1 greater than the EMPTY_FRACTION in heap.h.enum { SUPERBLOCK_FULLNESS_GROUP = 9 };// DO NOT CHANGE THESE. They require running of maketable to replace// the values in heap.cpp for the _numBlocks array.#define HEAP_DEBUG 0 // If non-zero, keeps extra info for sanity checking.#define HEAP_STATS 0 // If non-zero, maintain blowup statistics.#define HEAP_FRAG_STATS 0 // If non-zero, maintain fragmentation statistics.// CACHE_LINE = The number of bytes in a cache line.#if defined(i386) || defined(WIN32)#define CACHE_LINE 32#endif#ifdef sparc#define CACHE_LINE 64#endif#ifdef __sgi#define CACHE_LINE 128#endif#ifndef CACHE_LINE// We don't know what the architecture is,// so go for the gusto.#define CACHE_LINE 64#endif#ifdef __GNUG__// Use the max operator, an extension to C++ found in GNU C++.#define MAX(a,b) ((a) >? (b))#else#define MAX(a,b) (((a) > (b)) ? (a) : (b))#endif#endif // _CONFIG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -