mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-14 23:40:39 -08:00
Part of making extension callbacks part of the public mps.
* Move type and macro declarations to the public header mps.h. * Move documentation to appropriate sections of manual. (cherry picked from commit b928fa236178fb1bdbe20442c3f53b8e8a545a4b)
This commit is contained in:
parent
e3accea56d
commit
bf20351ddb
3 changed files with 109 additions and 3 deletions
|
|
@ -120,6 +120,13 @@ typedef mps_addr_t (*mps_fmt_isfwd_t)(mps_addr_t);
|
|||
typedef void (*mps_fmt_pad_t)(mps_addr_t, size_t);
|
||||
typedef mps_addr_t (*mps_fmt_class_t)(mps_addr_t);
|
||||
|
||||
/* Callbacks indicating that the arena has extended or contracted.
|
||||
* These are used to register chunks with RtlInstallFunctionTableCallback
|
||||
* <https://docs.microsoft.com/en-gb/windows/win32/api/winnt/nf-winnt-rtlinstallfunctiontablecallback>
|
||||
* so that the client can unwind the stack through functions in the arena.
|
||||
*/
|
||||
typedef void (*mps_arena_extended_t)(mps_arena_t, mps_addr_t, size_t);
|
||||
typedef void (*mps_arena_contracted_t)(mps_arena_t, mps_addr_t, size_t);
|
||||
|
||||
/* Keyword argument lists */
|
||||
|
||||
|
|
@ -171,6 +178,12 @@ extern const struct mps_key_s _mps_key_ARENA_SIZE;
|
|||
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_arena_extended;
|
||||
#define MPS_KEY_ARENA_EXTENDED (&_mps_key_arena_extended)
|
||||
#define MPS_KEY_ARENA_EXTENDED_FIELD fun
|
||||
extern const struct mps_key_s _mps_key_arena_contracted;
|
||||
#define MPS_KEY_ARENA_CONTRACTED (&_mps_key_arena_contracted)
|
||||
#define MPS_KEY_ARENA_CONTRACTED_FIELD fun
|
||||
extern const struct mps_key_s _mps_key_FORMAT;
|
||||
#define MPS_KEY_FORMAT (&_mps_key_FORMAT)
|
||||
#define MPS_KEY_FORMAT_FIELD format
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue