#include <VMemPool.H>
Inheritance diagram for VMemPool:
Public Types | |
typedef void(* | markCallback )(void *closure, typeCode type) |
typedef bool(* | sweepCallback )(void *closure, typeCode type, void *addr, Bit32 &size) |
typedef void(* | rebuildCallback )(void *closure, typeCode type, void *addr, Bit32 &size) |
enum | typeCode { freeByte = 0, freeBlock, vDirChangeable, vForward, vDirEvaluator, vDirImmutable, vAttrib, vDirAppendable, maxTypeCodes = 0x10, unspecified } |
Static Public Member Functions | |
static void * | allocate (typeCode type, Bit32 size) throw () |
static void | free (void *addr, Bit32 size, typeCode type=unspecified) throw () |
static typeCode | type (void *addr) throw () |
static Bit32 | shortenPointer (const void *pointer) throw () |
static void * | lengthenPointer (Bit32 spointer) throw () |
static void | gc (ShortIdsFile keepDerivedSid) throw () |
static void | registerCallbacks (typeCode type, markCallback markcb, void *markcl, sweepCallback sweepcb, void *sweepcl, rebuildCallback rebuildcb, void *rebuildcl) throw () |
static void | writeCheckpoint (std::fstream &ckpt) throw () |
static void | readCheckpoint (std::fstream &ckpt, bool readVolatile) throw () |
Static Public Attributes | |
static int | alignmentMask |
Static Protected Member Functions | |
static void | init () |
Static Protected Attributes | |
static Bit8 * | base |
Static Private Member Functions | |
static void | rebuildDirShortIdTable () throw () |
static void | grow (Bit32 growBy) throw () |
Static Private Attributes | |
static Bit32 | totalSize |
static Bit32 | minGrowBy |
Friends | |
void | VMemPool_init () |
|
Definition at line 116 of file VMemPool.H. |
|
Definition at line 119 of file VMemPool.H. |
|
Definition at line 117 of file VMemPool.H. |
|
Definition at line 53 of file VMemPool.H. |
|
|
Definition at line 270 of file VMemPool.C. References alignmentMask, FREEBK_MINSIZE, freeBlock, freeByte, Basics::mutex::lock(), VMemPoolBlockSP::next(), VMemPoolBlockSP::setLength(), VMemPoolBlockSP::setNext(), VMemPoolBlockSP::setType(), shortenPointer(), SNULL, VMemPoolBlockSP::sp, VMemPoolBlockSP::type(), and Basics::mutex::unlock(). Referenced by VDirChangeable::copyMutableToImmutable(), VDirEvaluator::freeTree(), VDirChangeable::freeTree(), and VestaAttribs::writeAttrib(). |
|
Referenced by SourceWeed(). |
|
Definition at line 639 of file VMemPool.C. References DBG_ALWAYS, Repos::dprintf(), VMemPoolBlockSP::sp, and totalSize. |
|
Definition at line 551 of file VMemPool.C. References base, Text::cchars(), DBG_ALWAYS, Repos::dprintf(), freeByte, VestaConfig::get(), Basics::mutex::lock(), minGrowBy, VestaConfig::failure::msg, shortenPointer(), SNULL, VMemPoolBlockSP::sp, totalSize, and Basics::mutex::unlock(). Referenced by VMemPool_init(). |
|
|
Definition at line 764 of file VMemPool.C. References alignmentMask, VestaAttribs::attribs, base, DBG_ALWAYS, Repos::dprintf(), lengthenPointer(), Basics::mutex::lock(), VestaSource::mutableRoot(), ok(), VestaSource::rep, VestaSource::repositoryRoot(), VestaSource::resync(), SNULL, VMemPoolBlockSP::sp, Basics::mutex::unlock(), and VestaSource::volatileRoot(). Referenced by CheckpointServer(), and Recover(). |
|
Definition at line 481 of file VMemPool.C. References base, DeleteAllDirShortIds(), DeleteAllFPShortId(), rebuildcl, shortenPointer(), VMemPoolBlockSP::sp, and VMemPoolBlockSP::type(). |
|
Definition at line 505 of file VMemPool.C. References Basics::mutex::lock(), markcb, markcl, rebuildcb, rebuildcl, sweepcb, Basics::mutex::unlock(), and VMemPool_init(). Referenced by InitVRWeed(). |
|
|
|
Definition at line 673 of file VMemPool.C. References VestaAttribs::attribs, VestaAttribsRep::checkpoint(), VestaSource::checkpoint(), CheckpointAllDirShortIds(), VestaAttribs::firstAttrib(), lengthenPointer(), Basics::mutex::lock(), VestaSource::mutableRoot(), VestaSource::rep, VestaSource::repositoryRoot(), Basics::mutex::unlock(), and VestaSource::volatileRoot(). Referenced by CheckpointServer(). |
|
Definition at line 177 of file VMemPool.C. |
|
Definition at line 153 of file VMemPool.C. Referenced by allocate(), VForward::checkpoint(), VestaAttribsRep::checkpoint(), VDirEvaluator::checkpoint(), VDirChangeable::checkpoint(), free(), and readCheckpoint(). |
|
Definition at line 130 of file VMemPool.C. Referenced by init(), VMemPoolBlockSP::length(), lengthenPointer(), VMemPoolBlockSP::next(), readCheckpoint(), rebuildDirShortIdTable(), VMemPoolBlockSP::setLength(), VMemPoolBlockSP::setNext(), VMemPoolBlockSP::setType(), shortenPointer(), and VMemPoolBlockSP::type(). |
|
Definition at line 132 of file VMemPool.C. Referenced by init(). |
|
Definition at line 131 of file VMemPool.C. Referenced by init(). |