From 04a8cb59dfaab744434313eefa620d6e8a447253 Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Fri, 9 Sep 2016 11:10:03 +0100 Subject: [PATCH] Improve description of postmortem state in the manual. Copied from Perforce Change: 192257 ServerID: perforce.ravenbrook.com --- mps/manual/source/glossary/p.rst | 11 ++++++++--- mps/manual/source/glossary/u.rst | 12 ++++++------ mps/manual/source/guide/debug.rst | 4 ++-- mps/manual/source/topic/arena.rst | 6 +++--- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/mps/manual/source/glossary/p.rst b/mps/manual/source/glossary/p.rst index b15da7171d4..228c1264e32 100644 --- a/mps/manual/source/glossary/p.rst +++ b/mps/manual/source/glossary/p.rst @@ -408,9 +408,14 @@ Memory Management Glossary: P One of the four states an :term:`arena` can be in (the others being the :term:`unclamped state`, the - :term:`clamped state`, and the :term:`parked state`). In the postmortem state, - - + :term:`clamped state`, and the :term:`parked state`). In + the postmortem state, objects do not move in memory, the + staleness of :term:`location dependencies` does not + change, memory occupied by :term:`unreachable` objects is + not recycled, all memory protection is removed, and memory + may be in an inconsistent state. Call + :c:func:`mps_arena_postmortem` to put an arena into the + postmortem state. precise garbage collection diff --git a/mps/manual/source/glossary/u.rst b/mps/manual/source/glossary/u.rst index 71f8fe78ac3..756ed88bc33 100644 --- a/mps/manual/source/glossary/u.rst +++ b/mps/manual/source/glossary/u.rst @@ -49,12 +49,12 @@ Memory Management Glossary: U .. mps:specific:: - One of the three states an :term:`arena` can be in (the - others being the :term:`clamped state` and the - :term:`parked state`). In the unclamped state, object - motion and other background activity may occur. Call - :c:func:`mps_arena_release` to put an arena into the - unclamped state. + One of the four states an :term:`arena` can be in (the + others being the :term:`clamped state`, the :term:`parked + state` and the :term:`postmortem state`). In the unclamped + state, object motion and other background activity may + occur. Call :c:func:`mps_arena_release` to put an arena + into the unclamped state. undead diff --git a/mps/manual/source/guide/debug.rst b/mps/manual/source/guide/debug.rst index cd95ef253ab..a922ad35af7 100644 --- a/mps/manual/source/guide/debug.rst +++ b/mps/manual/source/guide/debug.rst @@ -116,8 +116,8 @@ General debugging advice .. warning:: After calling :c:func:`mps_arena_postmortem`, MPS-managed - memory is not in a consistent state, and so it is no longer - safe to continue running the client program. + memory is not in a consistent state, and so it is not safe to + continue running the client program. .. index:: diff --git a/mps/manual/source/topic/arena.rst b/mps/manual/source/topic/arena.rst index 035f12308ce..b32b95c276b 100644 --- a/mps/manual/source/topic/arena.rst +++ b/mps/manual/source/topic/arena.rst @@ -663,9 +663,9 @@ An arena is always in one of three states. .. warning:: In this state, memory managed by the arena is not in a - consistent state, and so it is no longer safe to continue - running the client program. This state is intended for - postmortem debugging only. + consistent state, and so it is not safe to continue running the + client program. This state is intended for postmortem debugging + only. Here's a summary: