34 lines
550 B
C++
34 lines
550 B
C++
#pragma once
|
|
|
|
#include "ArrayWithLength.h"
|
|
|
|
|
|
class IntCache
|
|
{
|
|
private:
|
|
|
|
class ThreadStorage
|
|
{
|
|
public:
|
|
int maxSize;
|
|
|
|
vector<intArray> tcache;
|
|
vector<intArray> tallocated;
|
|
|
|
vector<intArray> cache;
|
|
vector<intArray> allocated;
|
|
vector<intArray> toosmall; // 4J added
|
|
~ThreadStorage();
|
|
};
|
|
static DWORD tlsIdx;
|
|
|
|
static const int TINY_CUTOFF = 256;
|
|
|
|
public:
|
|
static intArray allocate(int size);
|
|
static void releaseAll();
|
|
|
|
static void CreateNewThreadStorage();
|
|
static void ReleaseThreadStorage();
|
|
static void Reset(); // 4J added
|
|
}; |