mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 10:31:37 -08:00
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames. Copied from Perforce Change: 24911 ServerID: perforce.ravenbrook.com
44 lines
1 KiB
C
44 lines
1 KiB
C
/* impl.h.lo
|
|
*
|
|
* LEAF OBJECT POOL CLASS
|
|
*
|
|
* $Id$
|
|
*
|
|
* Copyright (c) 2001 Ravenbrook Limited.
|
|
*
|
|
* The Leaf Object PoolClass is an automatically managed (ie garbage
|
|
* collected) pool for managing "leaf" objects. Leaf objects are
|
|
* objects that have no references or no references that need tracing
|
|
* (ie the objects they refer too are non-moving and are manually
|
|
* managed).
|
|
*
|
|
* This Class has the following features:
|
|
*
|
|
* Approximately 6% (asymptotically) space overhead on managed objects.
|
|
*
|
|
* Automatically reclaims memory used by objects no longer reachable
|
|
* from the roots.
|
|
*
|
|
* Non-moving. References to objects in this pool will never change
|
|
* due to "fixing".
|
|
*
|
|
* Buffers will always "commit". When allocating using a buffer,
|
|
* commit will never fail.
|
|
*
|
|
* The following caveat applies:
|
|
*
|
|
* Space and time performance will degrade when fragmentation
|
|
* increases.
|
|
*
|
|
*/
|
|
|
|
#ifndef lo_h
|
|
#define lo_h
|
|
|
|
#include "mpm.h"
|
|
|
|
typedef struct LOStruct *LO;
|
|
|
|
extern PoolClass PoolClassLO(void);
|
|
|
|
#endif /* lo_h */
|