A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Allocator.cc File Reference
#include "PDBDebug.h"
#include <sstream>
#include <cstddef>
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstring>
+ Include dependency graph for Allocator.cc:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 pdb
 

Macros

#define ALLOCATOR_CC
 
#define CHAR_PTR(c)   ((char*)c)
 
#define ALLOCATOR_REF_COUNT   (*((unsigned*)(CHAR_PTR(start) + 2 * sizeof(size_t))))
 
#define ALLOCATOR_REF_COUNT   (*((unsigned*)(CHAR_PTR(myState.activeRAM) + 2 * sizeof(size_t))))
 
#define LAST_USED   (*((size_t*)myState.activeRAM))
 
#define OFFSET_TO_OBJECT   (*((size_t*)(CHAR_PTR(myState.activeRAM) + sizeof(size_t))))
 
#define OFFSET_TO_OBJECT_RELATIVE(fromWhere)   (*((size_t*)(CHAR_PTR(fromWhere) + sizeof(size_t))))
 
#define HEADER_SIZE   (sizeof(unsigned) + 2 * sizeof(size_t))
 
#define GET_CHUNK_SIZE(ofMe)   (*((unsigned*)ofMe))
 
#define CHUNK_HEADER_SIZE   sizeof(unsigned)
 

Functions

bool pdb::operator< (const InactiveAllocationBlock &in, const void *compToMe)
 
bool pdb::operator< (const InactiveAllocationBlock &lhs, const InactiveAllocationBlock &rhs)
 
bool pdb::operator> (const InactiveAllocationBlock &in, const void *compToMe)
 
bool pdb::operator== (const InactiveAllocationBlock &in, const void *compToMe)
 
void pdb::defaultFreeRAM (bool isContained, void *here, std::vector< InactiveAllocationBlock > &allInactives, AllocatorState &myState)
 
void * pdb::defaultGetRAM (size_t howMuch, AllocatorState &myState)
 
void * pdb::fastGetRAM (size_t howMuch, AllocatorState &myState)
 
Allocator & pdb::getAllocator ()
 

Variables

void * pdb::stackBase
 
void * pdb::stackEnd
 
Allocator * pdb::mainAllocatorPtr
 

Macro Definition Documentation

#define ALLOCATOR_CC

Definition at line 20 of file Allocator.cc.

#define ALLOCATOR_REF_COUNT   (*((unsigned*)(CHAR_PTR(start) + 2 * sizeof(size_t))))

Definition at line 102 of file Allocator.cc.

#define ALLOCATOR_REF_COUNT   (*((unsigned*)(CHAR_PTR(myState.activeRAM) + 2 * sizeof(size_t))))

Definition at line 102 of file Allocator.cc.

#define CHAR_PTR (   c)    ((char*)c)

Definition at line 33 of file Allocator.cc.

#define CHUNK_HEADER_SIZE   sizeof(unsigned)

Definition at line 108 of file Allocator.cc.

#define GET_CHUNK_SIZE (   ofMe)    (*((unsigned*)ofMe))

Definition at line 107 of file Allocator.cc.

#define HEADER_SIZE   (sizeof(unsigned) + 2 * sizeof(size_t))

Definition at line 106 of file Allocator.cc.

#define LAST_USED   (*((size_t*)myState.activeRAM))

Definition at line 103 of file Allocator.cc.

#define OFFSET_TO_OBJECT   (*((size_t*)(CHAR_PTR(myState.activeRAM) + sizeof(size_t))))

Definition at line 104 of file Allocator.cc.

#define OFFSET_TO_OBJECT_RELATIVE (   fromWhere)    (*((size_t*)(CHAR_PTR(fromWhere) + sizeof(size_t))))

Definition at line 105 of file Allocator.cc.