diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2003-12-15 20:55:10 -0800 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2003-12-15 20:55:10 -0800 |
commit | e537fb3fd61f62040a579976c27903bcb2d52939 (patch) | |
tree | 4ef53ec8c376c134a4769a2e8127034260c50544 | |
parent | 3c6fc7c269ef38bb4e3d147fbabe3f0dfbe1add7 (diff) | |
download | gem5-e537fb3fd61f62040a579976c27903bcb2d52939.tar.xz |
Add #define parameter and corresponding build option to
disable FastAlloc. Gcc 3.3.x appears to have a bug that
breaks FastAlloc when compiled with optimization.
base/fast_alloc.cc:
base/fast_alloc.hh:
#define NO_FAST_ALLOC makes FastAlloc a no-op.
--HG--
extra : convert_revision : bf4bb8e963331c6782f2cfd475a811aa520e31b5
-rw-r--r-- | base/fast_alloc.cc | 4 | ||||
-rw-r--r-- | base/fast_alloc.hh | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/base/fast_alloc.cc b/base/fast_alloc.cc index ff0a40c37..abb50aa0c 100644 --- a/base/fast_alloc.cc +++ b/base/fast_alloc.cc @@ -32,6 +32,8 @@ * by permission. */ +#ifndef NO_FAST_ALLOC + #ifdef __GNUC__ #pragma implementation #endif @@ -189,3 +191,5 @@ fast_alloc_oldest(int n) } #endif + +#endif // NO_FAST_ALLOC diff --git a/base/fast_alloc.hh b/base/fast_alloc.hh index 7d699abd1..81f2f1359 100644 --- a/base/fast_alloc.hh +++ b/base/fast_alloc.hh @@ -68,6 +68,13 @@ // (by bucket). // #define FAST_ALLOC_STATS +#ifdef NO_FAST_ALLOC + +class FastAlloc { +}; + +#else + class FastAlloc { public: @@ -200,4 +207,6 @@ void FastAlloc::operator delete(void *p, size_t sz) deallocate(p, sz); } +#endif // NO_FAST_ALLOC + #endif // __FAST_ALLOC_H__ |