| // | |
| // Copyright 2010 The Android Open Source Project | |
| // | |
| // A simple memory pool. | |
| // | |
| #define LOG_TAG "Pool" | |
| //#define LOG_NDEBUG 0 | |
| #include <cutils/log.h> | |
| #include <utils/Pool.h> | |
| #include <stdlib.h> | |
| namespace android { | |
| // TODO Provide a real implementation of a pool. This is just a stub for initial development. | |
| PoolImpl::PoolImpl(size_t objSize) : | |
| mObjSize(objSize) { | |
| } | |
| PoolImpl::~PoolImpl() { | |
| } | |
| void* PoolImpl::allocImpl() { | |
| void* ptr = malloc(mObjSize); | |
| LOG_ALWAYS_FATAL_IF(ptr == NULL, "Cannot allocate new pool object."); | |
| return ptr; | |
| } | |
| void PoolImpl::freeImpl(void* obj) { | |
| LOG_ALWAYS_FATAL_IF(obj == NULL, "Caller attempted to free NULL pool object."); | |
| return free(obj); | |
| } | |
| } // namespace android |