Remove out-of-date material and public interface material that's covered in the reference manual.

Copied from Perforce
 Change: 186530
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2014-06-12 14:26:13 +01:00
parent 15df9bb6de
commit fedb4a69c8

View file

@ -40,75 +40,18 @@ allocation can be used at the same time, but in that case, the first
ap must be created before any allocations.
_`.over.buffer.class`: The pool uses the simplest buffer class,
BufferClass. This is appropriate since these buffers don't attach to
segments, and hence don't constrain buffered regions to lie within
``BufferClass``. This is appropriate since these buffers don't attach
to segments, and hence don't constrain buffered regions to lie within
segment boundaries.
Methods
-------
_`.method`: The MVFF pool supports the following methods:
``Res MVFFInit(Pool pool, Args arg)``
_`.method.init`: This takes six `keyword arguments`_:
.. _`keyword arguments`: keyword-arguments
================================== ============================================
Keyword argument Description
================================== ============================================
``MPS_KEY_EXTEND_BY`` The segment size.
``MPS_KEY_MEAN_SIZE`` The average object size.
``MPS_KEY_ALIGN`` The alignment of allocations and frees.
Must be at least ``sizeof(void *)``.
``MPS_KEY_MVFF_SLOT_HIGH`` Whether to allocate objects at the end of
free blocks found, as opposed to at
the start (for unbuffered
allocation).
``MPS_KEY_MVFF_ARENA_HIGH`` Whether to express ``SegPrefHIGH``
to the arena, as opposed to
``SegPrefLOW``.
``MPS_KEY_MVFF_FIRST_FIT`` whether to use the suitable block of lowest
address, as opposed to the highest
(for unbuffered allocation)
================================== ============================================
_`.method.init.epdl`: To simulate the EPDL pool, specify ``extendBy``,
``avgSize``, and ``maxSize`` as normal, and use ``slotHigh=FALSE``,
``arenaHigh=FALSE``, ``firstFit=TRUE``.
_`.method.init.epdr`: To simulate the EPDR pool, specify ``extendBy``,
``avgSize``, and ``maxSize`` as normal, and use ``slotHigh=TRUE``,
``arenaHigh=TRUE``, ``firstFit=TRUE``.
_`.method.init.other`: The performance characteristics of other
combinations are unknown.
_`.method.alloc`: ``PoolAlloc()`` and ``PoolFree()`` methods are
supported, implementing the policy set by the pool params (see
`.method.init`_).
_`.method.buffer`: The buffer methods implement a worst-fit fill
strategy.
External Functions
------------------
_`.function`: MVFF supports the following external functions:
_`.function.free-size`: ``mps_mvff_free_size()`` returns the total
size of free space in segments allocated to the MVFF pool instance.
_`.function.size`: ``mps_mvff_size()`` returns the total memory used
by pool segments, whether free or allocated.
_`.function.class`: ``mps_class_mvff()`` returns the class object for
the pool class, to be used in pool creation.
Implementation
--------------
@ -162,6 +105,9 @@ Document History
- 2014-04-15 GDR_ The address ranges acquired from the arena are now
stored in a CBS; segments are no longer used for this purpose.
- 2014-06-12 GDR_ Remove public interface documentation (this is in
the reference manual).
.. _RB: http://www.ravenbrook.com/consultants/rb/
.. _GDR: http://www.ravenbrook.com/consultants/gdr/