Ravenbrook / Projects / Memory Pool System / Issues


MPS issue job001429

Title:MPS lacks documentation on how to use allocation points
Status:closed
Priority:optional
Assigned user:Richard Kistruck
Organization:Ravenbrook
Description:MPS lacks documentation on how to use allocation points

RHSK 2006-06-08
The [Reference Manual] does not document:
  mps_ap_create
  mps_reserve
  MPS_RESERVE_BLOCK
  MPS_RESERVE_BLOCK_WITH_RESERVOIR_PERMIT
  mps_commit
  mps_ap_destroy
Analysis:RHSK 2006-06-08
Collect documentation here, and migrate it to Wiki or the
Reference Manual as it becomes mature enough.

Here's a start:

Some pool classes (eg LO) only support allocation through
allocation points.

Allocation points require the reserved size to be aligned to the
pool alignment (see AVER in mps_ap_fill), whereas mps_alloc does
not (it is up to the pool class, and poolmv for example does
SizeAlignUp on the size argument).

Normally, use mps_reserve and mps_commit.

If you are using a very weak compiler that does not detect common
subexpressions, you may find that replacing mps_reserve by
MPS_RESERVE_BLOCK (functionally identical) generates faster code.
Or it may generate slower code. It depends on your compiler, and
you will have to conduct tests to find out.


RHSK 2007-01-04
(2006-06-22, change 159369)
New wiki article: manual/wiki/apguide.html "Allocation Points -- User's Guide"
How found:unknown
Evidence:[Reference Manual]: /​/​info.ravenbrook.com/​project/​mps/​master/​manual/​reference/​index.html#9
Observed in:1.106.2
Created by:Richard Kistruck
Created on:2006‑06‑08 14:26:32
Last modified by:Richard Kistruck
Last modified on:2007‑01‑04 16:50:31
History:2006-06-08 RHSK Created.
2007-01-04 RHSK Was fixed by new wiki article.

Fixes

Change Effect Date User Description
159369 closed 2006‑06‑22 13:33:30 Richard Kistruck MPS wiki: move Allocation Points -- User's Guide into its own article

Generated at 2013-05-20 12:31:38 by $Id: //info.ravenbrook.com/infosys/cgi/issue.cgi#476 $

Copyright © Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.

Ravenbrook / Projects / Memory Pool System / Issues