#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().  | 
  
 1.4.2