diff options
-rw-r--r-- | common/debug.cpp | 1 | ||||
-rw-r--r-- | common/hashmap.h | 11 | ||||
-rw-r--r-- | common/xmlparser.h | 1 | ||||
-rw-r--r-- | engines/lastexpress/resource.h | 2 | ||||
-rw-r--r-- | engines/parallaction/graphics.h | 1 | ||||
-rw-r--r-- | gui/debugger.h | 1 | ||||
-rw-r--r-- | video/codecs/cdtoons.cpp | 1 |
7 files changed, 17 insertions, 1 deletions
diff --git a/common/debug.cpp b/common/debug.cpp index 50f99753db..9c3a93e5a6 100644 --- a/common/debug.cpp +++ b/common/debug.cpp @@ -23,6 +23,7 @@ #include "common/debug-channels.h" #include "common/system.h" #include "common/textconsole.h" +#include "common/algorithm.h" #include <stdarg.h> // For va_list etc. diff --git a/common/hashmap.h b/common/hashmap.h index f2a4d843b8..347ac1fd25 100644 --- a/common/hashmap.h +++ b/common/hashmap.h @@ -106,8 +106,9 @@ private: HASHMAP_MEMORYPOOL_SIZE = HASHMAP_MIN_CAPACITY * HASHMAP_LOADFACTOR_NUMERATOR / HASHMAP_LOADFACTOR_DENOMINATOR }; - +#ifdef USE_HASHMAP_MEMORY_POOL ObjectPool<Node, HASHMAP_MEMORYPOOL_SIZE> _nodePool; +#endif Node **_storage; ///< hashtable of size arrsize. uint _mask; ///< Capacity of the HashMap minus one; must be a power of two of minus one @@ -128,12 +129,20 @@ private: #endif Node *allocNode(const Key &key) { +#ifdef USE_HASHMAP_MEMORY_POOL return new (_nodePool) Node(key); +#else + return new Node(key); +#endif } void freeNode(Node *node) { if (node && node != HASHMAP_DUMMY_NODE) +#ifdef USE_HASHMAP_MEMORY_POOL _nodePool.deleteChunk(node); +#else + delete node; +#endif } void assign(const HM_t &map); diff --git a/common/xmlparser.h b/common/xmlparser.h index 40c779b87e..d75dc0e4a9 100644 --- a/common/xmlparser.h +++ b/common/xmlparser.h @@ -31,6 +31,7 @@ #include "common/hashmap.h" #include "common/hash-str.h" #include "common/stack.h" +#include "common/memorypool.h" namespace Common { diff --git a/engines/lastexpress/resource.h b/engines/lastexpress/resource.h index 7dc909ab34..9e05a90399 100644 --- a/engines/lastexpress/resource.h +++ b/engines/lastexpress/resource.h @@ -26,6 +26,8 @@ #include "lastexpress/data/archive.h" #include "lastexpress/shared.h" +#include "common/array.h" + namespace LastExpress { class Background; diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h index 2f86f3693b..3eea1e871a 100644 --- a/engines/parallaction/graphics.h +++ b/engines/parallaction/graphics.h @@ -28,6 +28,7 @@ #include "common/hashmap.h" #include "common/hash-str.h" #include "common/stream.h" +#include "common/array.h" #include "graphics/surface.h" diff --git a/gui/debugger.h b/gui/debugger.h index b74b0d6f0f..3a587d2723 100644 --- a/gui/debugger.h +++ b/gui/debugger.h @@ -26,6 +26,7 @@ #include "common/ptr.h" #include "common/hashmap.h" #include "common/hash-str.h" +#include "common/array.h" namespace GUI { diff --git a/video/codecs/cdtoons.cpp b/video/codecs/cdtoons.cpp index 9bdc794fa6..528cee8094 100644 --- a/video/codecs/cdtoons.cpp +++ b/video/codecs/cdtoons.cpp @@ -24,6 +24,7 @@ #include "common/rect.h" #include "common/stream.h" #include "common/textconsole.h" +#include "common/array.h" namespace Video { |