1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 01:41:01 -08:00

Default value for mps_key_ams_support_ambiguous is now the safer value true.

Copied from Perforce
 Change: 185927
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2014-05-01 18:02:53 +01:00
parent 58400fd768
commit ef779449b4
3 changed files with 12 additions and 7 deletions

View file

@ -290,7 +290,7 @@
/* Pool AMS Configuration -- see <code/poolams.c> */
#define AMS_SUPPORT_AMBIGUOUS_DEFAULT FALSE
#define AMS_SUPPORT_AMBIGUOUS_DEFAULT TRUE
#define AMS_GEN_DEFAULT 0

View file

@ -55,10 +55,11 @@ AMS properties
never promoted out of the generation in which they are allocated.
* Blocks may contain :term:`exact references` to blocks in the same or
other pools, or :term:`ambiguous references` (if the
other pools, or :term:`ambiguous references` (unless the
:c:macro:`MPS_KEY_AMS_SUPPORT_AMBIGUOUS` keyword argument is set to
true when creating the pool). Blocks may not contain :term:`weak
references (1)`, and may not use :term:`remote references`.
``FALSE`` when creating the pool). Blocks may not contain
:term:`weak references (1)`, and may not use :term:`remote
references`.
* Allocations may be variable in size.
@ -126,14 +127,13 @@ AMS interface
blocks remain in this generation and are not promoted.
* :c:macro:`MPS_KEY_AMS_SUPPORT_AMBIGUOUS` (type
:c:type:`mps_bool_t`, default false) specifies whether references
may be ambiguous.
:c:type:`mps_bool_t`, default ``TRUE``) specifies whether
references to blocks in the pool may be ambiguous.
For example::
MPS_ARGS_BEGIN(args) {
MPS_ARGS_ADD(args, MPS_KEY_FORMAT, fmt);
MPS_ARGS_ADD(args, MPS_KEY_AMS_SUPPORT_AMBIGUOUS, 1);
res = mps_pool_create_k(&pool, arena, mps_class_ams(), args);
} MPS_ARGS_END(args);

View file

@ -35,6 +35,11 @@ Interface changes
:c:func:`mps_arena_create_k` when creating a virtual memory arena.
See :c:func:`mps_arena_class_vm`.
#. The keyword argument :c:macro:`MPS_KEY_AMS_SUPPORT_AMBIGUOUS` now
defaults to ``TRUE`` in order to better support the general case:
the value ``FALSE`` is appropriate only when you know that all
references are exact. See :ref:`pool-ams`.
Other changes
.............