morkZone Class Reference

#include <morkZone.h>

Inheritance diagram for morkZone:

Inheritance graph
[legend]
Collaboration diagram for morkZone:

Collaboration graph
[legend]

List of all members.

Public Member Functions

NS_IMETHOD Alloc (nsIMdbEnv *ev, mdb_size inSize, void **outBlock)
NS_IMETHOD Free (nsIMdbEnv *ev, void *inBlock)
NS_IMETHOD HeapAddStrongRef (nsIMdbEnv *ev)
NS_IMETHOD HeapCutStrongRef (nsIMdbEnv *ev)
virtual void CloseMorkNode (morkEnv *ev)
virtual ~morkZone ()
 morkZone (morkEnv *ev, const morkUsage &inUsage, nsIMdbHeap *ioNodeHeap, nsIMdbHeap *ioZoneHeap)
void CloseZone (morkEnv *ev)
mork_bool IsZone () const
void * ZoneNewChip (morkEnv *ev, mdb_size inSize)
void * ZoneNewRun (morkEnv *ev, mdb_size inSize)
void ZoneZapRun (morkEnv *ev, void *ioRunBody)
void * ZoneGrowRun (morkEnv *ev, void *ioRunBody, mdb_size inSize)

Static Public Member Functions

static void NonZoneTypeError (morkEnv *ev)
static void NilZoneHeapError (morkEnv *ev)
static void BadZoneTagError (morkEnv *ev)

Public Attributes

nsIMdbHeapmZone_Heap
mork_size mZone_HeapVolume
mork_size mZone_BlockVolume
mork_size mZone_RunVolume
mork_size mZone_ChipVolume
mork_size mZone_FreeOldRunVolume
mork_count mZone_HunkCount
mork_count mZone_FreeOldRunCount
morkHunkmZone_HunkList
morkRunmZone_FreeOldRunList
mork_u1mZone_At
mork_size mZone_AtSize
morkRunmZone_FreeRuns [morkZone_kBuckets+1]

Protected Member Functions

mork_size zone_grow_at (morkEnv *ev, mork_size inNeededSize)
void * zone_new_chip (morkEnv *ev, mdb_size inSize)
morkHunkzone_new_hunk (morkEnv *ev, mdb_size inRunSize)


Constructor & Destructor Documentation

morkZone::~morkZone (  )  [virtual]

morkZone::morkZone ( morkEnv ev,
const morkUsage inUsage,
nsIMdbHeap ioNodeHeap,
nsIMdbHeap ioZoneHeap 
)


Member Function Documentation

mork_size morkZone::zone_grow_at ( morkEnv ev,
mork_size  inNeededSize 
) [protected]

void * morkZone::zone_new_chip ( morkEnv ev,
mdb_size  inSize 
) [protected]

morkHunk * morkZone::zone_new_hunk ( morkEnv ev,
mdb_size  inRunSize 
) [protected]

mdb_err morkZone::Alloc ( nsIMdbEnv ev,
mdb_size  inSize,
void **  outBlock 
) [virtual]

Implements nsIMdbHeap.

mdb_err morkZone::Free ( nsIMdbEnv ev,
void *  inBlock 
) [virtual]

Implements nsIMdbHeap.

mdb_err morkZone::HeapAddStrongRef ( nsIMdbEnv ev  )  [virtual]

Implements nsIMdbHeap.

mdb_err morkZone::HeapCutStrongRef ( nsIMdbEnv ev  )  [virtual]

Implements nsIMdbHeap.

void morkZone::CloseMorkNode ( morkEnv ev  )  [virtual]

Reimplemented from morkNode.

void morkZone::CloseZone ( morkEnv ev  ) 

mork_bool morkZone::IsZone (  )  const [inline]

void * morkZone::ZoneNewChip ( morkEnv ev,
mdb_size  inSize 
)

void * morkZone::ZoneNewRun ( morkEnv ev,
mdb_size  inSize 
)

void morkZone::ZoneZapRun ( morkEnv ev,
void *  ioRunBody 
)

void * morkZone::ZoneGrowRun ( morkEnv ev,
void *  ioRunBody,
mdb_size  inSize 
)

void morkZone::NonZoneTypeError ( morkEnv ev  )  [static]

void morkZone::NilZoneHeapError ( morkEnv ev  )  [static]

static void morkZone::BadZoneTagError ( morkEnv ev  )  [static]


Member Data Documentation

morkRun* morkZone::mZone_FreeRuns[morkZone_kBuckets+1]


The documentation for this class was generated from the following files:

Generated Mozilla by doxygen 1.5.6