summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/MemoryPool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceUtil/MemoryPool.cpp')
-rwxr-xr-xcpp/src/IceUtil/MemoryPool.cpp119
1 files changed, 0 insertions, 119 deletions
diff --git a/cpp/src/IceUtil/MemoryPool.cpp b/cpp/src/IceUtil/MemoryPool.cpp
deleted file mode 100755
index aab2fcfba54..00000000000
--- a/cpp/src/IceUtil/MemoryPool.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#include <IceUtil/MemoryPool.h>
-
-using namespace std;
-
-bool IceUtil::SimpleMemoryPool::_usePool = true;
-int IceUtil::SimpleMemoryPool::_traceLevel = 0;
-
-IceUtil::SimpleMemoryPool::SimpleMemoryPool(const char* name, int num) :
- _name(name),
- _num(num),
- _pool(0)
-{
-}
-
-void*
-IceUtil::SimpleMemoryPool::operatorNew(size_t sz)
-{
- if(!_usePool)
- {
- return ::operator new(sz);
- }
-
- sz = (sz + 7) & 0xffffff8U;
-
- if(_pool == 0 || *reinterpret_cast<void**>(_pool) == 0)
- {
- int total = 8 + sz;
- char* p = reinterpret_cast<char*>(malloc(_num * total));
-
- int i;
- for(i = 0; i < _num - 1; ++i)
- {
- *reinterpret_cast<void**>(p + i * total) = p + (i + 1) * total;
- }
- *reinterpret_cast<void**>(p + i * total) = 0;
-
- if(_pool == 0)
- {
- _pool = p;
- }
- else
- {
- *reinterpret_cast<void**>(_pool) = p;
- }
- }
-
- void* result = reinterpret_cast<char*>(_pool) + 8;
- _pool = *reinterpret_cast<void**>(_pool);
- return result;
-}
-
-void
-IceUtil::SimpleMemoryPool::operatorDelete(void* p)
-{
- if(!_usePool)
- {
- ::operator delete(p);
- return;
- }
-
- if(p == 0)
- {
- return;
- }
-
- *reinterpret_cast<void**>(reinterpret_cast<char*>(p) - 8) = _pool;
- _pool = reinterpret_cast<char*>(p) - 8;
-}
-
-void
-IceUtil::SimpleMemoryPool::usePool(bool b)
-{
- _usePool = b;
-}
-
-void
-IceUtil::SimpleMemoryPool::traceLevel(int lvl)
-{
- _traceLevel = lvl;
-}
-
-IceUtil::MemoryPool::MemoryPool(const char* name, int num) :
- SimpleMemoryPool(name, num)
-{
-}
-
-void*
-IceUtil::MemoryPool::operatorNew(size_t sz)
-{
- if(!_usePool)
- {
- return ::operator new(sz);
- }
-
- IceUtil::Mutex::Lock lock(*this);
- return SimpleMemoryPool::operatorNew(sz);
-}
-
-void
-IceUtil::MemoryPool::operatorDelete(void* p)
-{
- if(!_usePool)
- {
- ::operator delete(p);
- return;
- }
-
- IceUtil::Mutex::Lock lock(*this);
- SimpleMemoryPool::operatorDelete(p);
-}