mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-26 08:41:47 -07:00
Improved assertion messages when a required keyword argument is not found. instead of "unreachable code", the assertion message is the name of the missing key.
Copied from Perforce Change: 187267 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
e185863a15
commit
66dfd1a69a
20 changed files with 122 additions and 126 deletions
|
|
@ -290,14 +290,14 @@ failGlobalsInit:
|
|||
* platforms, knowing that it has no effect. To do that, the key must
|
||||
* exist on all platforms. */
|
||||
|
||||
ARG_DEFINE_KEY(vmw3_top_down, Bool);
|
||||
ARG_DEFINE_KEY(VMW3_TOP_DOWN, Bool);
|
||||
|
||||
|
||||
/* ArenaCreate -- create the arena and call initializers */
|
||||
|
||||
ARG_DEFINE_KEY(arena_size, Size);
|
||||
ARG_DEFINE_KEY(arena_grain_size, Size);
|
||||
ARG_DEFINE_KEY(arena_zoned, Bool);
|
||||
ARG_DEFINE_KEY(ARENA_SIZE, Size);
|
||||
ARG_DEFINE_KEY(ARENA_GRAIN_SIZE, Size);
|
||||
ARG_DEFINE_KEY(ARENA_ZONED, Bool);
|
||||
|
||||
Res ArenaCreate(Arena *arenaReturn, ArenaClass class, ArgList args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ static void ClientArenaVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
|
|||
* to do the generic part of init.
|
||||
*/
|
||||
|
||||
ARG_DEFINE_KEY(arena_cl_addr, Addr);
|
||||
ARG_DEFINE_KEY(ARENA_CL_BASE, Addr);
|
||||
|
||||
static Res ClientArenaInit(Arena *arenaReturn, ArenaClass class, ArgList args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ Bool ArgCheckPool(Arg arg) {
|
|||
}
|
||||
|
||||
|
||||
ARG_DEFINE_KEY(args_end, Shouldnt);
|
||||
ARG_DEFINE_KEY(ARGS_END, Shouldnt);
|
||||
|
||||
ArgStruct mps_args_none[] = {{MPS_KEY_ARGS_END, {0}}};
|
||||
|
||||
|
|
@ -174,9 +174,8 @@ found:
|
|||
/* ArgRequire -- take a required argument out of the argument list by keyword */
|
||||
|
||||
void ArgRequire(ArgStruct *argOut, ArgList args, Key key) {
|
||||
if (ArgPick(argOut, args, key))
|
||||
return;
|
||||
NOTREACHED;
|
||||
Bool b = ArgPick(argOut, args, key);
|
||||
ASSERT(b, key->name);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ typedef struct mps_key_s {
|
|||
|
||||
#define ARG_DEFINE_KEY(id, type) \
|
||||
extern const KeyStruct _mps_key_##id; \
|
||||
const KeyStruct _mps_key_##id = {KeySig, #id, ArgCheck##type}
|
||||
const KeyStruct _mps_key_##id = {KeySig, "MPS_KEY_" #id, ArgCheck##type}
|
||||
|
||||
#define argsNone mps_args_none
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ Bool PoolDebugOptionsCheck(PoolDebugOptions opt)
|
|||
* Someday, this could be split into fence and tag init methods.
|
||||
*/
|
||||
|
||||
ARG_DEFINE_KEY(pool_debug_options, PoolDebugOptions);
|
||||
ARG_DEFINE_KEY(POOL_DEBUG_OPTIONS, PoolDebugOptions);
|
||||
|
||||
static PoolDebugOptionsStruct debugPoolOptionsDefault = {
|
||||
"POST", 4, "DEAD", 4,
|
||||
|
|
|
|||
|
|
@ -88,14 +88,14 @@ static mps_addr_t FormatDefaultClass(mps_addr_t object)
|
|||
|
||||
/* FormatCreate -- create a format */
|
||||
|
||||
ARG_DEFINE_KEY(fmt_align, Align);
|
||||
ARG_DEFINE_KEY(fmt_scan, Fun);
|
||||
ARG_DEFINE_KEY(fmt_skip, Fun);
|
||||
ARG_DEFINE_KEY(fmt_fwd, Fun);
|
||||
ARG_DEFINE_KEY(fmt_isfwd, Fun);
|
||||
ARG_DEFINE_KEY(fmt_pad, Fun);
|
||||
ARG_DEFINE_KEY(fmt_header_size, Size);
|
||||
ARG_DEFINE_KEY(fmt_class, Fun);
|
||||
ARG_DEFINE_KEY(FMT_ALIGN, Align);
|
||||
ARG_DEFINE_KEY(FMT_SCAN, Fun);
|
||||
ARG_DEFINE_KEY(FMT_SKIP, Fun);
|
||||
ARG_DEFINE_KEY(FMT_FWD, Fun);
|
||||
ARG_DEFINE_KEY(FMT_ISFWD, Fun);
|
||||
ARG_DEFINE_KEY(FMT_PAD, Fun);
|
||||
ARG_DEFINE_KEY(FMT_HEADER_SIZE, Size);
|
||||
ARG_DEFINE_KEY(FMT_CLASS, Fun);
|
||||
|
||||
Res FormatCreate(Format *formatReturn, Arena arena, ArgList args)
|
||||
{
|
||||
|
|
|
|||
104
mps/code/mps.h
104
mps/code/mps.h
|
|
@ -151,84 +151,84 @@ typedef struct mps_arg_s {
|
|||
} val;
|
||||
} mps_arg_s;
|
||||
|
||||
extern const struct mps_key_s _mps_key_args_end;
|
||||
#define MPS_KEY_ARGS_END (&_mps_key_args_end)
|
||||
extern const struct mps_key_s _mps_key_ARGS_END;
|
||||
#define MPS_KEY_ARGS_END (&_mps_key_ARGS_END)
|
||||
extern mps_arg_s mps_args_none[];
|
||||
|
||||
extern const struct mps_key_s _mps_key_arena_size;
|
||||
#define MPS_KEY_ARENA_SIZE (&_mps_key_arena_size)
|
||||
extern const struct mps_key_s _mps_key_ARENA_SIZE;
|
||||
#define MPS_KEY_ARENA_SIZE (&_mps_key_ARENA_SIZE)
|
||||
#define MPS_KEY_ARENA_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_arena_grain_size;
|
||||
#define MPS_KEY_ARENA_GRAIN_SIZE (&_mps_key_arena_grain_size)
|
||||
extern const struct mps_key_s _mps_key_ARENA_GRAIN_SIZE;
|
||||
#define MPS_KEY_ARENA_GRAIN_SIZE (&_mps_key_ARENA_GRAIN_SIZE)
|
||||
#define MPS_KEY_ARENA_GRAIN_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_arena_zoned;
|
||||
#define MPS_KEY_ARENA_ZONED (&_mps_key_arena_zoned)
|
||||
extern const struct mps_key_s _mps_key_ARENA_ZONED;
|
||||
#define MPS_KEY_ARENA_ZONED (&_mps_key_ARENA_ZONED)
|
||||
#define MPS_KEY_ARENA_ZONED_FIELD b
|
||||
extern const struct mps_key_s _mps_key_format;
|
||||
#define MPS_KEY_FORMAT (&_mps_key_format)
|
||||
extern const struct mps_key_s _mps_key_FORMAT;
|
||||
#define MPS_KEY_FORMAT (&_mps_key_FORMAT)
|
||||
#define MPS_KEY_FORMAT_FIELD format
|
||||
extern const struct mps_key_s _mps_key_chain;
|
||||
#define MPS_KEY_CHAIN (&_mps_key_chain)
|
||||
extern const struct mps_key_s _mps_key_CHAIN;
|
||||
#define MPS_KEY_CHAIN (&_mps_key_CHAIN)
|
||||
#define MPS_KEY_CHAIN_FIELD chain
|
||||
extern const struct mps_key_s _mps_key_gen;
|
||||
#define MPS_KEY_GEN (&_mps_key_gen)
|
||||
extern const struct mps_key_s _mps_key_GEN;
|
||||
#define MPS_KEY_GEN (&_mps_key_GEN)
|
||||
#define MPS_KEY_GEN_FIELD u
|
||||
extern const struct mps_key_s _mps_key_rank;
|
||||
#define MPS_KEY_RANK (&_mps_key_rank)
|
||||
extern const struct mps_key_s _mps_key_RANK;
|
||||
#define MPS_KEY_RANK (&_mps_key_RANK)
|
||||
#define MPS_KEY_RANK_FIELD rank
|
||||
|
||||
extern const struct mps_key_s _mps_key_extend_by;
|
||||
#define MPS_KEY_EXTEND_BY (&_mps_key_extend_by)
|
||||
extern const struct mps_key_s _mps_key_EXTEND_BY;
|
||||
#define MPS_KEY_EXTEND_BY (&_mps_key_EXTEND_BY)
|
||||
#define MPS_KEY_EXTEND_BY_FIELD size
|
||||
extern const struct mps_key_s _mps_key_large_size;
|
||||
#define MPS_KEY_LARGE_SIZE (&_mps_key_large_size)
|
||||
extern const struct mps_key_s _mps_key_LARGE_SIZE;
|
||||
#define MPS_KEY_LARGE_SIZE (&_mps_key_LARGE_SIZE)
|
||||
#define MPS_KEY_LARGE_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_min_size;
|
||||
#define MPS_KEY_MIN_SIZE (&_mps_key_min_size)
|
||||
extern const struct mps_key_s _mps_key_MIN_SIZE;
|
||||
#define MPS_KEY_MIN_SIZE (&_mps_key_MIN_SIZE)
|
||||
#define MPS_KEY_MIN_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_mean_size;
|
||||
#define MPS_KEY_MEAN_SIZE (&_mps_key_mean_size)
|
||||
extern const struct mps_key_s _mps_key_MEAN_SIZE;
|
||||
#define MPS_KEY_MEAN_SIZE (&_mps_key_MEAN_SIZE)
|
||||
#define MPS_KEY_MEAN_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_max_size;
|
||||
#define MPS_KEY_MAX_SIZE (&_mps_key_max_size)
|
||||
extern const struct mps_key_s _mps_key_MAX_SIZE;
|
||||
#define MPS_KEY_MAX_SIZE (&_mps_key_MAX_SIZE)
|
||||
#define MPS_KEY_MAX_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_align;
|
||||
#define MPS_KEY_ALIGN (&_mps_key_align)
|
||||
extern const struct mps_key_s _mps_key_ALIGN;
|
||||
#define MPS_KEY_ALIGN (&_mps_key_ALIGN)
|
||||
#define MPS_KEY_ALIGN_FIELD align
|
||||
extern const struct mps_key_s _mps_key_spare;
|
||||
#define MPS_KEY_SPARE (&_mps_key_spare)
|
||||
extern const struct mps_key_s _mps_key_SPARE;
|
||||
#define MPS_KEY_SPARE (&_mps_key_SPARE)
|
||||
#define MPS_KEY_SPARE_FIELD d
|
||||
extern const struct mps_key_s _mps_key_interior;
|
||||
#define MPS_KEY_INTERIOR (&_mps_key_interior)
|
||||
extern const struct mps_key_s _mps_key_INTERIOR;
|
||||
#define MPS_KEY_INTERIOR (&_mps_key_INTERIOR)
|
||||
#define MPS_KEY_INTERIOR_FIELD b
|
||||
|
||||
extern const struct mps_key_s _mps_key_vmw3_top_down;
|
||||
#define MPS_KEY_VMW3_TOP_DOWN (&_mps_key_vmw3_top_down)
|
||||
extern const struct mps_key_s _mps_key_VMW3_TOP_DOWN;
|
||||
#define MPS_KEY_VMW3_TOP_DOWN (&_mps_key_VMW3_TOP_DOWN)
|
||||
#define MPS_KEY_VMW3_TOP_DOWN_FIELD b
|
||||
|
||||
extern const struct mps_key_s _mps_key_fmt_align;
|
||||
#define MPS_KEY_FMT_ALIGN (&_mps_key_fmt_align)
|
||||
extern const struct mps_key_s _mps_key_FMT_ALIGN;
|
||||
#define MPS_KEY_FMT_ALIGN (&_mps_key_FMT_ALIGN)
|
||||
#define MPS_KEY_FMT_ALIGN_FIELD align
|
||||
extern const struct mps_key_s _mps_key_fmt_header_size;
|
||||
#define MPS_KEY_FMT_HEADER_SIZE (&_mps_key_fmt_header_size)
|
||||
extern const struct mps_key_s _mps_key_FMT_HEADER_SIZE;
|
||||
#define MPS_KEY_FMT_HEADER_SIZE (&_mps_key_FMT_HEADER_SIZE)
|
||||
#define MPS_KEY_FMT_HEADER_SIZE_FIELD size
|
||||
extern const struct mps_key_s _mps_key_fmt_scan;
|
||||
#define MPS_KEY_FMT_SCAN (&_mps_key_fmt_scan)
|
||||
extern const struct mps_key_s _mps_key_FMT_SCAN;
|
||||
#define MPS_KEY_FMT_SCAN (&_mps_key_FMT_SCAN)
|
||||
#define MPS_KEY_FMT_SCAN_FIELD fmt_scan
|
||||
extern const struct mps_key_s _mps_key_fmt_skip;
|
||||
#define MPS_KEY_FMT_SKIP (&_mps_key_fmt_skip)
|
||||
extern const struct mps_key_s _mps_key_FMT_SKIP;
|
||||
#define MPS_KEY_FMT_SKIP (&_mps_key_FMT_SKIP)
|
||||
#define MPS_KEY_FMT_SKIP_FIELD fmt_skip
|
||||
extern const struct mps_key_s _mps_key_fmt_fwd;
|
||||
#define MPS_KEY_FMT_FWD (&_mps_key_fmt_fwd)
|
||||
extern const struct mps_key_s _mps_key_FMT_FWD;
|
||||
#define MPS_KEY_FMT_FWD (&_mps_key_FMT_FWD)
|
||||
#define MPS_KEY_FMT_FWD_FIELD fmt_fwd
|
||||
extern const struct mps_key_s _mps_key_fmt_isfwd;
|
||||
#define MPS_KEY_FMT_ISFWD (&_mps_key_fmt_isfwd)
|
||||
extern const struct mps_key_s _mps_key_FMT_ISFWD;
|
||||
#define MPS_KEY_FMT_ISFWD (&_mps_key_FMT_ISFWD)
|
||||
#define MPS_KEY_FMT_ISFWD_FIELD fmt_isfwd
|
||||
extern const struct mps_key_s _mps_key_fmt_pad;
|
||||
#define MPS_KEY_FMT_PAD (&_mps_key_fmt_pad)
|
||||
extern const struct mps_key_s _mps_key_FMT_PAD;
|
||||
#define MPS_KEY_FMT_PAD (&_mps_key_FMT_PAD)
|
||||
#define MPS_KEY_FMT_PAD_FIELD fmt_pad
|
||||
extern const struct mps_key_s _mps_key_fmt_class;
|
||||
#define MPS_KEY_FMT_CLASS (&_mps_key_fmt_class)
|
||||
extern const struct mps_key_s _mps_key_FMT_CLASS;
|
||||
#define MPS_KEY_FMT_CLASS (&_mps_key_FMT_CLASS)
|
||||
#define MPS_KEY_FMT_CLASS_FIELD fmt_class
|
||||
|
||||
/* Maximum length of a keyword argument list. */
|
||||
|
|
@ -774,8 +774,8 @@ typedef struct mps_pool_debug_option_s {
|
|||
size_t free_size;
|
||||
} mps_pool_debug_option_s;
|
||||
|
||||
extern const struct mps_key_s _mps_key_pool_debug_options;
|
||||
#define MPS_KEY_POOL_DEBUG_OPTIONS (&_mps_key_pool_debug_options)
|
||||
extern const struct mps_key_s _mps_key_POOL_DEBUG_OPTIONS;
|
||||
#define MPS_KEY_POOL_DEBUG_OPTIONS (&_mps_key_POOL_DEBUG_OPTIONS)
|
||||
#define MPS_KEY_POOL_DEBUG_OPTIONS_FIELD pool_debug_options
|
||||
|
||||
extern void mps_pool_check_fenceposts(mps_pool_t);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* mpsacl.h: MEMORY POOL SYSTEM ARENA CLASS "CL"
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001-2013 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2014 Ravenbrook Limited. See end of file for license.
|
||||
*/
|
||||
|
||||
#ifndef mpsacl_h
|
||||
|
|
@ -10,8 +10,8 @@
|
|||
#include "mps.h"
|
||||
|
||||
/* Client arena base address argument */
|
||||
extern const struct mps_key_s _mps_key_arena_cl_addr;
|
||||
#define MPS_KEY_ARENA_CL_BASE (&_mps_key_arena_cl_addr)
|
||||
extern const struct mps_key_s _mps_key_ARENA_CL_BASE;
|
||||
#define MPS_KEY_ARENA_CL_BASE (&_mps_key_ARENA_CL_BASE)
|
||||
#define MPS_KEY_ARENA_CL_BASE_FIELD addr
|
||||
|
||||
extern mps_arena_class_t mps_arena_class_cl(void);
|
||||
|
|
@ -22,7 +22,7 @@ extern mps_arena_class_t mps_arena_class_cl(void);
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2013 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
#include "mps.h"
|
||||
|
||||
extern const struct mps_key_s _mps_key_ams_support_ambiguous;
|
||||
#define MPS_KEY_AMS_SUPPORT_AMBIGUOUS (&_mps_key_ams_support_ambiguous)
|
||||
extern const struct mps_key_s _mps_key_AMS_SUPPORT_AMBIGUOUS;
|
||||
#define MPS_KEY_AMS_SUPPORT_AMBIGUOUS (&_mps_key_AMS_SUPPORT_AMBIGUOUS)
|
||||
#define MPS_KEY_AMS_SUPPORT_AMBIGUOUS_FIELD b
|
||||
|
||||
extern mps_pool_class_t mps_class_ams(void);
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
#include "mps.h"
|
||||
|
||||
extern const struct mps_key_s _mps_key_awl_find_dependent;
|
||||
#define MPS_KEY_AWL_FIND_DEPENDENT (&_mps_key_awl_find_dependent)
|
||||
extern const struct mps_key_s _mps_key_AWL_FIND_DEPENDENT;
|
||||
#define MPS_KEY_AWL_FIND_DEPENDENT (&_mps_key_AWL_FIND_DEPENDENT)
|
||||
#define MPS_KEY_AWL_FIND_DEPENDENT_FIELD addr_method
|
||||
|
||||
extern mps_pool_class_t mps_class_awl(void);
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
#include "mps.h"
|
||||
|
||||
extern const struct mps_key_s _mps_key_mfs_unit_size;
|
||||
#define MPS_KEY_MFS_UNIT_SIZE (&_mps_key_mfs_unit_size)
|
||||
extern const struct mps_key_s _mps_key_MFS_UNIT_SIZE;
|
||||
#define MPS_KEY_MFS_UNIT_SIZE (&_mps_key_MFS_UNIT_SIZE)
|
||||
#define MPS_KEY_MFS_UNIT_SIZE_FIELD size
|
||||
|
||||
extern mps_pool_class_t mps_class_mfs(void);
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
#include "mps.h"
|
||||
|
||||
extern const struct mps_key_s _mps_key_mvff_slot_high;
|
||||
#define MPS_KEY_MVFF_SLOT_HIGH (&_mps_key_mvff_slot_high)
|
||||
extern const struct mps_key_s _mps_key_MVFF_SLOT_HIGH;
|
||||
#define MPS_KEY_MVFF_SLOT_HIGH (&_mps_key_MVFF_SLOT_HIGH)
|
||||
#define MPS_KEY_MVFF_SLOT_HIGH_FIELD b
|
||||
extern const struct mps_key_s _mps_key_mvff_arena_high;
|
||||
#define MPS_KEY_MVFF_ARENA_HIGH (&_mps_key_mvff_arena_high)
|
||||
extern const struct mps_key_s _mps_key_MVFF_ARENA_HIGH;
|
||||
#define MPS_KEY_MVFF_ARENA_HIGH (&_mps_key_MVFF_ARENA_HIGH)
|
||||
#define MPS_KEY_MVFF_ARENA_HIGH_FIELD b
|
||||
extern const struct mps_key_s _mps_key_mvff_first_fit;
|
||||
#define MPS_KEY_MVFF_FIRST_FIT (&_mps_key_mvff_first_fit)
|
||||
extern const struct mps_key_s _mps_key_MVFF_FIRST_FIT;
|
||||
#define MPS_KEY_MVFF_FIRST_FIT (&_mps_key_MVFF_FIRST_FIT)
|
||||
#define MPS_KEY_MVFF_FIRST_FIT_FIELD b
|
||||
|
||||
#define mps_mvff_free_size mps_pool_free_size
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
#include "mps.h"
|
||||
|
||||
extern const struct mps_key_s _mps_key_mvt_reserve_depth;
|
||||
#define MPS_KEY_MVT_RESERVE_DEPTH (&_mps_key_mvt_reserve_depth)
|
||||
extern const struct mps_key_s _mps_key_MVT_RESERVE_DEPTH;
|
||||
#define MPS_KEY_MVT_RESERVE_DEPTH (&_mps_key_MVT_RESERVE_DEPTH)
|
||||
#define MPS_KEY_MVT_RESERVE_DEPTH_FIELD count
|
||||
extern const struct mps_key_s _mps_key_mvt_frag_limit;
|
||||
#define MPS_KEY_MVT_FRAG_LIMIT (&_mps_key_mvt_frag_limit)
|
||||
extern const struct mps_key_s _mps_key_MVT_FRAG_LIMIT;
|
||||
#define MPS_KEY_MVT_FRAG_LIMIT (&_mps_key_MVT_FRAG_LIMIT)
|
||||
#define MPS_KEY_MVT_FRAG_LIMIT_FIELD d
|
||||
|
||||
extern mps_pool_class_t mps_class_mvt(void);
|
||||
|
|
|
|||
|
|
@ -107,18 +107,18 @@ Bool PoolCheck(Pool pool)
|
|||
|
||||
/* Common keywords to PoolInit */
|
||||
|
||||
ARG_DEFINE_KEY(format, Format);
|
||||
ARG_DEFINE_KEY(chain, Chain);
|
||||
ARG_DEFINE_KEY(gen, Cant);
|
||||
ARG_DEFINE_KEY(rank, Rank);
|
||||
ARG_DEFINE_KEY(extend_by, Size);
|
||||
ARG_DEFINE_KEY(large_size, Size);
|
||||
ARG_DEFINE_KEY(min_size, Size);
|
||||
ARG_DEFINE_KEY(mean_size, Size);
|
||||
ARG_DEFINE_KEY(max_size, Size);
|
||||
ARG_DEFINE_KEY(align, Align);
|
||||
ARG_DEFINE_KEY(spare, double);
|
||||
ARG_DEFINE_KEY(interior, Bool);
|
||||
ARG_DEFINE_KEY(FORMAT, Format);
|
||||
ARG_DEFINE_KEY(CHAIN, Chain);
|
||||
ARG_DEFINE_KEY(GEN, Cant);
|
||||
ARG_DEFINE_KEY(RANK, Rank);
|
||||
ARG_DEFINE_KEY(EXTEND_BY, Size);
|
||||
ARG_DEFINE_KEY(LARGE_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MIN_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MEAN_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MAX_SIZE, Size);
|
||||
ARG_DEFINE_KEY(ALIGN, Align);
|
||||
ARG_DEFINE_KEY(SPARE, double);
|
||||
ARG_DEFINE_KEY(INTERIOR, Bool);
|
||||
|
||||
|
||||
/* PoolInit -- initialize a pool
|
||||
|
|
|
|||
|
|
@ -785,7 +785,7 @@ static void AMSDebugVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
|
|||
* allocated in the pool. See <design/poolams/#init>.
|
||||
*/
|
||||
|
||||
ARG_DEFINE_KEY(ams_support_ambiguous, Bool);
|
||||
ARG_DEFINE_KEY(AMS_SUPPORT_AMBIGUOUS, Bool);
|
||||
|
||||
static Res AMSInit(Pool pool, ArgList args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -544,7 +544,7 @@ static Addr awlNoDependent(Addr addr)
|
|||
|
||||
/* AWLInit -- initialize an AWL pool */
|
||||
|
||||
ARG_DEFINE_KEY(awl_find_dependent, Fun);
|
||||
ARG_DEFINE_KEY(AWL_FIND_DEPENDENT, Fun);
|
||||
|
||||
static Res AWLInit(Pool pool, ArgList args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ static void MFSVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
|
|||
AVERT(ArgList, args);
|
||||
}
|
||||
|
||||
ARG_DEFINE_KEY(mfs_unit_size, Size);
|
||||
ARG_DEFINE_KEY(MFS_UNIT_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MFSExtendSelf, Bool);
|
||||
|
||||
static Res MFSInit(Pool pool, ArgList args)
|
||||
|
|
|
|||
|
|
@ -215,11 +215,11 @@ static void MVTVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
|
|||
* minSize, meanSize, maxSize, reserveDepth, fragLimit
|
||||
*/
|
||||
|
||||
ARG_DEFINE_KEY(mvt_min_size, Size);
|
||||
ARG_DEFINE_KEY(mvt_mean_size, Size);
|
||||
ARG_DEFINE_KEY(mvt_max_size, Size);
|
||||
ARG_DEFINE_KEY(mvt_reserve_depth, Count);
|
||||
ARG_DEFINE_KEY(mvt_frag_limit, double);
|
||||
ARG_DEFINE_KEY(MVT_MIN_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MVT_MEAN_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MVT_MAX_SIZE, Size);
|
||||
ARG_DEFINE_KEY(MVT_RESERVE_DEPTH, Count);
|
||||
ARG_DEFINE_KEY(MVT_FRAG_LIMIT, double);
|
||||
|
||||
static Res MVTInit(Pool pool, ArgList args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -445,9 +445,9 @@ static void MVFFDebugVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
|
|||
|
||||
/* MVFFInit -- initialize method for MVFF */
|
||||
|
||||
ARG_DEFINE_KEY(mvff_slot_high, Bool);
|
||||
ARG_DEFINE_KEY(mvff_arena_high, Bool);
|
||||
ARG_DEFINE_KEY(mvff_first_fit, Bool);
|
||||
ARG_DEFINE_KEY(MVFF_SLOT_HIGH, Bool);
|
||||
ARG_DEFINE_KEY(MVFF_ARENA_HIGH, Bool);
|
||||
ARG_DEFINE_KEY(MVFF_FIRST_FIT, Bool);
|
||||
|
||||
static Res MVFFInit(Pool pool, ArgList args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -238,6 +238,12 @@ assertion that is listed here but for which you discovered a different
|
|||
cause), please :ref:`let us know <contact>` so that we can improve
|
||||
this documentation.
|
||||
|
||||
``arg.c: MPS_KEY_...``
|
||||
|
||||
A required :term:`keyword argument` was omitted from a call to
|
||||
:c:func:`mps_ap_create_k`, :c:func:`mps_arena_create_k`,
|
||||
:c:func:`mps_fmt_create_k`, or :c:func:`mps_pool_create_k`.
|
||||
|
||||
|
||||
``buffer.c: BufferIsReady(buffer)``
|
||||
|
||||
|
|
@ -275,13 +281,11 @@ this documentation.
|
|||
:term:`format methods` and :term:`stepper functions`.
|
||||
|
||||
|
||||
``locus.c: chain->activeTraces == TraceSetEMPTY)``
|
||||
``locus.c: chain->activeTraces == TraceSetEMPTY``
|
||||
|
||||
The client program called :c:func:`mps_chain_destroy`, but there
|
||||
was a garbage collection in progress on that chain.
|
||||
|
||||
Park the arena before destroying the chain by calling
|
||||
:c:func:`mps_arena_park`.
|
||||
was a garbage collection in progress on that chain. Park the arena
|
||||
before destroying the chain, by calling :c:func:`mps_arena_park`.
|
||||
|
||||
|
||||
``mpsi.c: SizeIsAligned(size, BufferPool(buf)->alignment)``
|
||||
|
|
@ -291,13 +295,6 @@ this documentation.
|
|||
alignment required by the pool's :term:`object format`.
|
||||
|
||||
|
||||
``pool.c: PoolHasAttr(pool, AttrALLOC)``
|
||||
|
||||
The client program called :c:func:`mps_alloc` on a pool that does
|
||||
not support this form of allocation. Use an :term:`allocation
|
||||
point` instead.
|
||||
|
||||
|
||||
``poolams.c: AMS_ALLOCED(seg, i)``
|
||||
|
||||
The client program tried to :term:`fix` a :term:`reference` to a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue