From 95474b048aa742f500f276f782e9998eccfce8d9 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 12 Oct 2008 22:05:26 +0000 Subject: COMMON: Added a new ObjectPool class, with matching operator new/delete overloads svn-id: r34785 --- common/xmlparser.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'common/xmlparser.h') diff --git a/common/xmlparser.h b/common/xmlparser.h index cd2580b448..31ba4e594e 100644 --- a/common/xmlparser.h +++ b/common/xmlparser.h @@ -51,7 +51,7 @@ namespace Common { #define MAX_XML_DEPTH 8 #define XML_KEY(keyName) {\ - lay = new CustomXMLKeyLayout;\ + lay = new CustomXMLKeyLayout;\ lay->callback = (&kLocalParserName::parserCallback_##keyName);\ layout.top()->children[#keyName] = lay;\ layout.push(lay); \ @@ -169,16 +169,14 @@ public: XMLKeyLayout *layout; }; - FixedSizeMemoryPool _nodePool; + ObjectPool _nodePool; ParserNode *allocNode() { - void* mem = _nodePool.malloc(); - return new (mem) ParserNode; + return new (_nodePool) ParserNode; } void freeNode(ParserNode *node) { - node->~ParserNode(); - _nodePool.free(node); + _nodePool.deleteChunk(node); } /** -- cgit v1.2.3