mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-26 08:41:47 -07:00
Add note about choice of base/client pointer representation.
Copied from Perforce Change: 188193 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
3f3c0e6e69
commit
3772a04825
1 changed files with 14 additions and 0 deletions
|
|
@ -179,6 +179,20 @@ There are some cautions to be observed when using in-band headers:
|
|||
#. Not all :term:`pool classes` support objects with in-band headers.
|
||||
See the documentation for the pool class.
|
||||
|
||||
.. note::
|
||||
|
||||
A :term:`client program` that allocates objects with
|
||||
:term:`in-band headers` has to make a choice about how to
|
||||
represent references to those objects. It can represent them using
|
||||
:term:`base pointers` (which is convenient for allocation, since
|
||||
:c:func:`mps_reserve` returns a base pointer, but requires
|
||||
decoding when scanning) or using :term:`client pointers` (which is
|
||||
convenient for scanning, since the :term:`scan method` takes a
|
||||
client pointer, but requires encoding on allocation). Either
|
||||
approach will work, but :term:`client pointers` are normally the
|
||||
better choice, since scanning is normally more
|
||||
performance-critical than allocation.
|
||||
|
||||
|
||||
.. index::
|
||||
pair: object format; cautions
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue