Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap > Class Template Reference

#include <tlab.h>

Inheritance diagram for Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >:
Hoard::TLAB

List of all members.

Public Member Functions

 ThreadLocalAllocationBuffer (ParentHeap *parent)
 ~ThreadLocalAllocationBuffer (void)
void * malloc (size_t sz)
void free (void *ptr)
void clear (void)

Static Public Member Functions

static size_t getSize (void *ptr)
static SuperblockType * getSuperblock (void *ptr)

Private Member Functions

 ThreadLocalAllocationBuffer (const ThreadLocalAllocationBuffer &)
ThreadLocalAllocationBufferoperator= (const ThreadLocalAllocationBuffer &)

Static Private Member Functions

static size_t align (size_t sz)

Private Attributes

ParentHeap * _parentHeap
 This heap's 'parent' (where to go for more memory).
size_t _localHeapBytes
 The number of bytes we currently have on this thread.
Array< NumBins, HL::DLList_localHeap
 The local heap itself.

template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType, int SuperblockSize, class ParentHeap>
class Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >


Constructor & Destructor Documentation

template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::ThreadLocalAllocationBuffer ( ParentHeap *  parent  )  [inline]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::~ThreadLocalAllocationBuffer ( void   )  [inline]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::ThreadLocalAllocationBuffer ( const ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap > &   )  [private]

Member Function Documentation

template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
static size_t Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::align ( size_t  sz  )  [inline, static, private]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
void Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::clear ( void   )  [inline]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
void Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::free ( void *  ptr  )  [inline]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
static size_t Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::getSize ( void *  ptr  )  [inline, static]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
static SuperblockType* Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::getSuperblock ( void *  ptr  )  [inline, static]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
void* Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::malloc ( size_t  sz  )  [inline]
template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
ThreadLocalAllocationBuffer& Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::operator= ( const ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap > &   )  [private]

Member Data Documentation

template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
Array<NumBins, HL::DLList> Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::_localHeap [private]

The local heap itself.

template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
size_t Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::_localHeapBytes [private]

The number of bytes we currently have on this thread.

template<int NumBins, int(*)(size_t) getSizeClass, size_t(*)(const int) getClassSize, int LargestObject, int LocalHeapThreshold, class SuperblockType , int SuperblockSize, class ParentHeap >
ParentHeap* Hoard::ThreadLocalAllocationBuffer< NumBins, getSizeClass, getClassSize, LargestObject, LocalHeapThreshold, SuperblockType, SuperblockSize, ParentHeap >::_parentHeap [private]

This heap's 'parent' (where to go for more memory).


The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:32 2011 for Galois by  doxygen 1.6.3