mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-27 16:51:06 -07:00
* src/igc.c: Document arena states, and AMC pool
igc_state: Enhance comment to cross-reference MPS docs. mps_pool_t: Insert comment on the most important pool type. (text from Gerd Mollmann in igc.org)
This commit is contained in:
parent
07cca9aec1
commit
52612cb8f7
1 changed files with 9 additions and 1 deletions
10
src/igc.c
10
src/igc.c
|
|
@ -228,17 +228,21 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|||
|
||||
Initial state is IGC_STATE_INITIAL, until everything needed has been
|
||||
successfully initialized.
|
||||
This state also called `clamped' in MPS docs.
|
||||
|
||||
State goes from IGC_STATE_INITIAL to IGC_STATE_USABLE_PARKED where
|
||||
everything is usable, but GC is not done.
|
||||
This state is also called `parked' in MPS docs.
|
||||
|
||||
State then goes from there to IGC_STATE_USABLE when everything is
|
||||
fully usable and GCs are done.
|
||||
This state is also called `unclamped' in MPS docs.
|
||||
|
||||
It goes from usable to IGC_STATE_DEAD if an error happens or
|
||||
something is detected that forces us to terminate the process
|
||||
early. While terminating in this state, fallbacks are implemented
|
||||
that let Emacs do its thing while terminating. */
|
||||
that let Emacs do its thing while terminating.
|
||||
This state is also called `postmortem' in MPS docs. */
|
||||
|
||||
enum igc_state
|
||||
{
|
||||
|
|
@ -4820,6 +4824,10 @@ make_pool_with_class (struct igc *gc, mps_fmt_t fmt, mps_class_t cls, mps_awl_fi
|
|||
return pool;
|
||||
}
|
||||
|
||||
/* The most important MPS pool type is named
|
||||
AMC (Automatic Mostly Copying). AMC implements a variant of a
|
||||
copying collector. Objects allocated from AMC pools can
|
||||
therefore change their memory addresses. */
|
||||
static mps_pool_t
|
||||
make_pool_amc (struct igc *gc, mps_fmt_t fmt)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue