HL::Seg< ReapletSize, SizeClassComputer, TopHeap > Class Template Reference

#include <seg.h>

List of all members.

Classes

class  SanityChecker
class  VerifyAlignment

Public Types

enum  { Alignment = sizeof(double) }

Public Member Functions

__forceinline Seg (void)
 ~Seg (void)
__forceinline void * malloc (size_t sz)
__forceinline void free (void *ptr)
void clear (void)

Static Public Member Functions

static __forceinline size_t getSize (void *ptr)

Protected Member Functions

__forceinline void addToAvailableList (Reaplet< ReapletSize > *r, size_t sz)

Private Types

enum  { TopAlignment = TopHeap::Alignment }

Private Member Functions

 Seg (void)
__forceinline void * slowPathGetMoreMemory (const size_t sz)
__forceinline void sanityCheck (void)
__forceinline void putOnFullList (Reaplet< ReapletSize > *xs, const int SizeClass)
__forceinline void clearOut (Reaplet< ReapletSize > *&list)
__forceinline void removeFromFullList (Reaplet< ReapletSize > *r, const size_t sz)
__forceinline void moveFromFullToAvailable (Reaplet< ReapletSize > *r)
__forceinline void removeAndFreeReaplet (Reaplet< ReapletSize > *r)
__forceinline int insertNewReaplet (int SizeClass)
NO_INLINE void removeFromAvailable (Reaplet< ReapletSize > *xs, const int SizeClass)
NO_INLINE void * makeBigObject (size_t sz)

Static Private Member Functions

static __forceinline Reaplet
< ReapletSize > * 
enclosingReaplet (void *ptr)

Private Attributes

Reaplet< ReapletSize > * available [SizeClassComputer::NUM_BINS]
Reaplet< ReapletSize > * full [SizeClassComputer::NUM_BINS]

template<int ReapletSize, class SizeClassComputer, class TopHeap>
class HL::Seg< ReapletSize, SizeClassComputer, TopHeap >


Member Enumeration Documentation

template<int ReapletSize, class SizeClassComputer , class TopHeap >
anonymous enum
Enumerator:
Alignment 
template<int ReapletSize, class SizeClassComputer , class TopHeap >
anonymous enum [private]
Enumerator:
TopAlignment 

Constructor & Destructor Documentation

template<int ReapletSize, class SizeClassComputer , class TopHeap >
HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::Seg ( void   )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::Seg ( void   )  [inline]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::~Seg ( void   )  [inline]

Member Function Documentation

template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::addToAvailableList ( Reaplet< ReapletSize > *  r,
size_t  sz 
) [inline, protected]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::clear ( void   )  [inline]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::clearOut ( Reaplet< ReapletSize > *&  list  )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
static __forceinline Reaplet<ReapletSize>* HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::enclosingReaplet ( void *  ptr  )  [inline, static, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::free ( void *  ptr  )  [inline]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
static __forceinline size_t HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::getSize ( void *  ptr  )  [inline, static]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline int HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::insertNewReaplet ( int  SizeClass  )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
NO_INLINE void* HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::makeBigObject ( size_t  sz  )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void* HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::malloc ( size_t  sz  )  [inline]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::moveFromFullToAvailable ( Reaplet< ReapletSize > *  r  )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::putOnFullList ( Reaplet< ReapletSize > *  xs,
const int  SizeClass 
) [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::removeAndFreeReaplet ( Reaplet< ReapletSize > *  r  )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
NO_INLINE void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::removeFromAvailable ( Reaplet< ReapletSize > *  xs,
const int  SizeClass 
) [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::removeFromFullList ( Reaplet< ReapletSize > *  r,
const size_t  sz 
) [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::sanityCheck ( void   )  [inline, private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
__forceinline void* HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::slowPathGetMoreMemory ( const size_t  sz  )  [inline, private]

Member Data Documentation

template<int ReapletSize, class SizeClassComputer , class TopHeap >
Reaplet<ReapletSize>* HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::available[SizeClassComputer::NUM_BINS] [private]
template<int ReapletSize, class SizeClassComputer , class TopHeap >
Reaplet<ReapletSize>* HL::Seg< ReapletSize, SizeClassComputer, TopHeap >::full[SizeClassComputer::NUM_BINS] [private]

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