diff --git a/mps/code/abq.c b/mps/code/abq.c
index 74ab8066ea8..94ac5dd4680 100644
--- a/mps/code/abq.c
+++ b/mps/code/abq.c
@@ -7,7 +7,7 @@
*
* .purpose: A FIFO queue substrate for impl.c.poolmv2
*
- * .design: See design.mps.poolmv2
+ * .design: See
*/
#include "meter.h"
diff --git a/mps/code/abq.h b/mps/code/abq.h
index d2ceccf67f7..608240b4474 100644
--- a/mps/code/abq.h
+++ b/mps/code/abq.h
@@ -5,7 +5,7 @@
*
* .purpose: A FIFO queue substrate for impl.c.poolmv2
*
- * .source: design.mps.poolmv2
+ * .source:
*/
#ifndef abq_h
diff --git a/mps/code/arena.c b/mps/code/arena.c
index 665ffc59b25..2d6ace20240 100644
--- a/mps/code/arena.c
+++ b/mps/code/arena.c
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .sources: design.mps.arena is the main design document. */
+ * .sources: is the main design document. */
#include "tract.h"
#include "poolmv.h"
@@ -32,7 +32,7 @@ static Res ArenaTrivDescribe(Arena arena, mps_lib_FILE *stream)
/* AbstractArenaClass -- The abstact arena class definition
*
* .null: Most abstract class methods are set to NULL. See
- * design.mps.arena.class.abstract.null. */
+ * . */
typedef ArenaClassStruct AbstractArenaClassStruct;
@@ -91,7 +91,7 @@ Bool ArenaCheck(Arena arena)
CHECKD(ArenaClass, arena->class);
CHECKL(BoolCheck(arena->poolReady));
- if (arena->poolReady) { /* design.mps.arena.pool.ready */
+ if (arena->poolReady) { /* */
CHECKD(MV, &arena->controlPoolStruct);
CHECKD(Reservoir, &arena->reservoirStruct);
}
@@ -154,7 +154,7 @@ Res ArenaInit(Arena arena, ArenaClass class)
arena->alignment = 1 << ARENA_ZONESHIFT;
/* zoneShift is usually overridden by init */
arena->zoneShift = ARENA_ZONESHIFT;
- arena->poolReady = FALSE; /* design.mps.arena.pool.ready */
+ arena->poolReady = FALSE; /* */
arena->lastTract = NULL;
arena->lastTractBase = NULL;
@@ -171,7 +171,7 @@ Res ArenaInit(Arena arena, ArenaClass class)
arena->sig = ArenaSig;
- /* initialize the reservoir, design.mps.reservoir */
+ /* initialize the reservoir, */
res = ReservoirInit(&arena->reservoirStruct, arena);
if (res != ResOK)
goto failReservoirInit;
@@ -282,7 +282,7 @@ Res ControlInit(Arena arena)
ARENA_CONTROL_MAXSIZE);
if (res != ResOK)
return res;
- arena->poolReady = TRUE; /* design.mps.arena.pool.ready */
+ arena->poolReady = TRUE; /* */
return ResOK;
}
@@ -393,7 +393,7 @@ Res ArenaDescribeTracts(Arena arena, mps_lib_FILE *stream)
* control pool, which is an MV pool embedded in the arena itself.
*
* .controlalloc.addr: In implementations where Addr is not compatible
- * with void* (design.mps.type.addr.use), ControlAlloc must take care of
+ * with void* (), ControlAlloc must take care of
* allocating so that the block can be addressed with a void*. */
Res ControlAlloc(void **baseReturn, Arena arena, size_t size,
@@ -474,7 +474,7 @@ Res ArenaAlloc(Addr *baseReturn, SegPref pref, Size size, Pool pool,
return res;
goodAlloc:
- /* cache the tract - design.mps.arena.tract.cache */
+ /* cache the tract - */
arena->lastTract = baseTract;
arena->lastTractBase = base;
@@ -503,7 +503,7 @@ void ArenaFree(Addr base, Size size, Pool pool)
AVER(AddrIsAligned(base, arena->alignment));
AVER(SizeIsAligned(size, arena->alignment));
- /* uncache the tract if in range - design.mps.arena.tract.uncache */
+ /* uncache the tract if in range - */
limit = AddrAdd(base, size);
if ((arena->lastTractBase >= base) && (arena->lastTractBase < limit)) {
arena->lastTract = NULL;
diff --git a/mps/code/arenacl.c b/mps/code/arenacl.c
index 89605fdd147..18ede55dafa 100644
--- a/mps/code/arenacl.c
+++ b/mps/code/arenacl.c
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .design: See design.mps.arena.client.
+ * .design: See .
*
* .improve.remember: One possible performance improvement is to
* remember (a conservative approximation to) the indices of the first
@@ -25,7 +25,7 @@ SRCID(arenacl, "$Id$");
typedef struct ClientArenaStruct {
ArenaStruct arenaStruct; /* generic arena structure */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} ClientArenaStruct;
typedef struct ClientArenaStruct *ClientArena;
@@ -43,7 +43,7 @@ typedef struct ClientChunkStruct {
ChunkStruct chunkStruct; /* generic chunk */
Size freePages; /* number of free pages in chunk */
Addr pageBase; /* base of first managed page in chunk */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} ClientChunkStruct;
#define ClientChunk2Chunk(clchunk) (&(clchunk)->chunkStruct)
@@ -110,7 +110,7 @@ static Res clientChunkCreate(Chunk *chunkReturn, Addr base, Addr limit,
goto failBootInit;
/* Allocate the chunk. */
- /* See design.mps.arena.@@@@ */
+ /* See .@@@@ */
res = BootAlloc(&p, boot, sizeof(ClientChunkStruct), MPS_PF_ALIGN);
if (res != ResOK)
goto failChunkAlloc;
@@ -340,7 +340,7 @@ static Res chunkAlloc(Addr *baseReturn, Tract *baseTractReturn,
/* Check commit limit. Note that if there are multiple reasons */
/* for failing the allocation we attempt to return other result codes */
- /* in preference to ResCOMMIT_LIMIT. See design.mps.arena.commit-limit */
+ /* in preference to ResCOMMIT_LIMIT. See */
if (ArenaCommitted(arena) + pages * ChunkPageSize(chunk)
> arena->commitLimit) {
return ResCOMMIT_LIMIT;
@@ -382,7 +382,7 @@ static Res ClientAlloc(Addr *baseReturn, Tract *baseTractReturn,
/* All chunks have same pageSize. */
AVER(SizeIsAligned(size, ChunkPageSize(arena->primary)));
/* NULL is used as a discriminator (see */
- /* design.mps.arenavm.table.disc), therefore the real pool */
+ /* ), therefore the real pool */
/* must be non-NULL. */
AVER(pool != NULL);
diff --git a/mps/code/arenavm.c b/mps/code/arenavm.c
index 6e1742bfadd..8c135c9742a 100644
--- a/mps/code/arenavm.c
+++ b/mps/code/arenavm.c
@@ -6,7 +6,7 @@
*
* DESIGN
*
- * .design: See design.mps.arena.vm, and design.mps.arena.coop-vm
+ * .design: See , and
*
* .vm.addr-is-star: In this file, Addr is compatible with C
* pointers, and Count with size_t (Index), because all refer to the
@@ -47,7 +47,7 @@ typedef struct VMChunkStruct {
Addr overheadMappedLimit; /* limit of pages mapped for overhead */
BT pageTableMapped; /* indicates mapped state of page table */
BT noSparePages; /* 1 bit per page of pageTable */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} VMChunkStruct;
#define VMChunk2Chunk(vmchunk) (&(vmchunk)->chunkStruct)
@@ -62,7 +62,7 @@ typedef struct VMChunkStruct {
/* VMArena
*
- * See design.mps.arena.coop-vm.struct.vmarena for description.
+ * See for description.
*/
typedef struct VMArenaStruct *VMArena;
@@ -77,7 +77,7 @@ typedef struct VMArenaStruct { /* VM arena structure */
ZoneSet genZoneSet[VMArenaGenCount]; /* .gencount.const */
ZoneSet freeSet; /* unassigned zones */
Size extendBy;
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} VMArenaStruct;
#define Arena2VMArena(arena) PARENT(VMArenaStruct, arenaStruct, arena)
@@ -273,7 +273,7 @@ static Res VMChunkCreate(Chunk *chunkReturn, VMArena vmArena, Size size)
goto failBootInit;
/* Allocate and map the descriptor. */
- /* See design.mps.arena.@@@@ */
+ /* See .@@@@ */
res = BootAlloc(&p, boot, sizeof(VMChunkStruct), MPS_PF_ALIGN);
if (res != ResOK)
goto failChunkAlloc;
@@ -333,7 +333,7 @@ static Res VMChunkInit(Chunk chunk, BootBlock boot)
goto failnoSparePages;
vmChunk->noSparePages = p;
- /* Actually commit all the tables. design.mps.arena.vm.@@@@ */
+ /* Actually commit all the tables. .@@@@ */
overheadLimit = AddrAdd(chunk->base, (Size)BootAllocated(boot));
if (vmChunk->overheadMappedLimit < overheadLimit) {
overheadLimit = AddrAlignUp(overheadLimit, ChunkPageSize(chunk));
@@ -438,7 +438,7 @@ static Res VMArenaInit(Arena *arenaReturn, ArenaClass class, va_list args)
vmArena->genZoneSet[gen] = ZoneSetEMPTY;
}
vmArena->freeSet = ZoneSetUNIV; /* includes blacklist */
- /* design.mps.arena.coop-vm.struct.vmarena.extendby.init */
+ /* */
vmArena->extendBy = userSize;
/* have to have a valid arena before calling ChunkCreate */
@@ -452,7 +452,7 @@ static Res VMArenaInit(Arena *arenaReturn, ArenaClass class, va_list args)
/* number of stripes as will fit into a reference set (the number of */
/* bits in a word). Fail if the chunk is so small stripes are smaller */
/* than pages. Note that some zones are discontiguous in the chunk if */
- /* the size is not a power of 2. See design.mps.arena.class.fields. */
+ /* the size is not a power of 2. See . */
chunkSize = AddrOffset(chunk->base, chunk->limit);
arena->zoneShift = SizeFloorLog2(chunkSize >> MPS_WORD_SHIFT);
@@ -1221,7 +1221,7 @@ static Res vmAllocComm(Addr *baseReturn, Tract *baseTractReturn,
AVER(SizeIsAligned(size, ChunkPageSize(arena->primary)));
/* NULL is used as a discriminator */
- /* (see design.mps.arena.vm.table.disc) therefore the real pool */
+ /* (see ) therefore the real pool */
/* must be non-NULL. */
AVER(pool != NULL);
diff --git a/mps/code/awlut.c b/mps/code/awlut.c
index 4f9410bd6f7..0f17b1efbd3 100644
--- a/mps/code/awlut.c
+++ b/mps/code/awlut.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: see design.mps.poolawl.test.*
+ * .design: see .*
*/
#include "mpscawl.h"
diff --git a/mps/code/awluthe.c b/mps/code/awluthe.c
index aac1d45dabd..251ad76aaf6 100644
--- a/mps/code/awluthe.c
+++ b/mps/code/awluthe.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: see design.mps.poolawl.test.*
+ * .design: see .*
*/
#include "mpscawl.h"
diff --git a/mps/code/awlutth.c b/mps/code/awlutth.c
index c4ce32428d9..a9d34e00dff 100644
--- a/mps/code/awlutth.c
+++ b/mps/code/awlutth.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: see design.mps.poolawl.test.*
+ * .design: see .*
*/
#include "mpscawl.h"
diff --git a/mps/code/bt.c b/mps/code/bt.c
index 496479a94b6..687aa4675b7 100644
--- a/mps/code/bt.c
+++ b/mps/code/bt.c
@@ -9,7 +9,7 @@
*
* DESIGN
*
- * .design: see design.mps.bt
+ * .design: see
*/
#include "mpm.h"
@@ -168,7 +168,7 @@ SRCID(bt, "$Id$");
/* BTCreate -- allocate a BT from the control pool
*
- * See design.mps.bt.if.create
+ * See
*/
Res BTCreate(BT *btReturn, Arena arena, Count length)
@@ -194,7 +194,7 @@ Res BTCreate(BT *btReturn, Arena arena, Count length)
/* BTDestroy -- free a BT to the control pool.
*
- * See design.mps.bt.if.destroy
+ * See
*/
void BTDestroy(BT bt, Arena arena, Count length)
@@ -223,7 +223,7 @@ static Bool BTCheck(BT bt)
/* BTSize -- return the size of a BT
*
- * See design.mps.bt.fun.size
+ * See
*/
size_t (BTSize)(unsigned long n)
@@ -237,7 +237,7 @@ size_t (BTSize)(unsigned long n)
/* BTGet -- get a bit from a BT
*
- * See design.mps.bt.fun.get
+ * See
*/
Bool (BTGet)(BT t, Index i)
@@ -252,7 +252,7 @@ Bool (BTGet)(BT t, Index i)
/* BTSet -- set a bit in a BT
*
- * See design.mps.bt.fun.set
+ * See
*/
void (BTSet)(BT t, Index i)
@@ -267,7 +267,7 @@ void (BTSet)(BT t, Index i)
/* BTRes -- reset a bit in a BT
*
- * design.mps.bt.fun.res
+ *
*/
void (BTRes)(BT t, Index i)
@@ -282,7 +282,7 @@ void (BTRes)(BT t, Index i)
/* BTSetRange -- set a range of bits in a BT
*
- * design.mps.bt.fun.set-range
+ *
*/
void BTSetRange(BT t, Index base, Index limit)
@@ -304,7 +304,7 @@ void BTSetRange(BT t, Index base, Index limit)
/* BTIsResRange -- test whether a range of bits is all reset
*
- * See design.mps.bt.fun.is-reset-range.
+ * See .
*/
Bool BTIsResRange(BT bt, Index base, Index limit)
@@ -328,7 +328,7 @@ Bool BTIsResRange(BT bt, Index base, Index limit)
/* BTIsSetRange -- test whether a range of bits is all set
*
- * See design.mps.bt.fun.is-set-range.
+ * See .
*/
Bool BTIsSetRange(BT bt, Index base, Index limit)
@@ -356,7 +356,7 @@ Bool BTIsSetRange(BT bt, Index base, Index limit)
/* BTResRange -- reset a range of bits in a BT
*
- * design.mps.bt.fun.res-range
+ *
*/
void BTResRange(BT t, Index base, Index limit)
@@ -609,7 +609,7 @@ btFindResHighLabel:; \
*
* Starts searching at the low end of the search range.
*
- * See design.mps.bt.fun.find-res-range.
+ * See .
*/
static Bool BTFindResRange(Index *baseReturn, Index *limitReturn,
@@ -696,7 +696,7 @@ static Bool BTFindResRange(Index *baseReturn, Index *limitReturn,
*
* Starts searching at the high end of the search range.
*
- * See design.mps.bt.fun.find-res-range.
+ * See .
*/
static Bool BTFindResRangeHigh(Index *baseReturn, Index *limitReturn,
@@ -789,7 +789,7 @@ static Bool BTFindResRangeHigh(Index *baseReturn, Index *limitReturn,
/* BTFindLongResRange -- find long range of reset bits in a bit table
*
- * See design.mps.bt.fun.find-long-res-range.
+ * See .
*/
Bool BTFindLongResRange(Index *baseReturn, Index *limitReturn,
@@ -807,7 +807,7 @@ Bool BTFindLongResRange(Index *baseReturn, Index *limitReturn,
/* BTFindLongResRangeHigh -- find long range of reset bits in a bit table
*
- * See design.mps.bt.fun.find-long-res-range-high.
+ * See .
*/
Bool BTFindLongResRangeHigh(Index *baseReturn, Index *limitReturn,
@@ -825,7 +825,7 @@ Bool BTFindLongResRangeHigh(Index *baseReturn, Index *limitReturn,
/* BTFindShortResRange -- find short range of reset bits in a bit table
*
- * See design.mps.bt.fun.find-short-res-range.
+ * See .
*/
Bool BTFindShortResRange(Index *baseReturn, Index *limitReturn,
@@ -844,7 +844,7 @@ Bool BTFindShortResRange(Index *baseReturn, Index *limitReturn,
*
* Starts looking from the top of the search range.
*
- * See design.mps.bt.fun.find-short-res-range-high.
+ * See .
*/
Bool BTFindShortResRangeHigh(Index *baseReturn, Index *limitReturn,
@@ -862,7 +862,7 @@ Bool BTFindShortResRangeHigh(Index *baseReturn, Index *limitReturn,
/* BTRangesSame -- check that a range of bits in two BTs are the same.
*
- * See design.mps.bt.if.ranges-same
+ * See
*/
Bool BTRangesSame(BT comparand, BT comparator, Index base, Index limit)
@@ -898,7 +898,7 @@ Bool BTRangesSame(BT comparand, BT comparator, Index base, Index limit)
/* BTCopyInvertRange -- copy a range of bits from one BT to another,
* inverting them as you go.
*
- * See design.mps.bt.if.copy-invert-range
+ * See
*/
void BTCopyInvertRange(BT fromBT, BT toBT, Index base, Index limit)
@@ -933,7 +933,7 @@ void BTCopyInvertRange(BT fromBT, BT toBT, Index base, Index limit)
/* BTCopyRange -- copy a range of bits from one BT to another
*
- * See design.mps.bt.if.copy-range
+ * See
*/
void BTCopyRange(BT fromBT, BT toBT, Index base, Index limit)
@@ -973,7 +973,7 @@ void BTCopyRange(BT fromBT, BT toBT, Index base, Index limit)
* may differ for each range. We could try to be smart about
* detecting similar alignment - but we don't.
*
- * See design.mps.bt.if.copy-offset-range
+ * See
*/
void BTCopyOffsetRange(BT fromBT, BT toBT,
diff --git a/mps/code/buffer.c b/mps/code/buffer.c
index 635319d7a98..831efac5c06 100644
--- a/mps/code/buffer.c
+++ b/mps/code/buffer.c
@@ -10,7 +10,7 @@
*
* DESIGN
*
- * .design: See design.mps.buffer.
+ * .design: See .
*
* .ap.async: The mutator is allowed to change certain AP fields
* asynchronously. Functions that can be called on buffers not
@@ -44,7 +44,7 @@ Bool BufferCheck(Buffer buffer)
CHECKU(Arena, buffer->arena);
CHECKU(Pool, buffer->pool);
CHECKL(buffer->arena == buffer->pool->arena);
- CHECKL(RingCheck(&buffer->poolRing)); /* design.mps.check.type.no-sig */
+ CHECKL(RingCheck(&buffer->poolRing)); /* */
CHECKL(BoolCheck(buffer->isMutator));
CHECKL(buffer->fillSize >= 0.0);
CHECKL(buffer->emptySize >= 0.0);
@@ -102,7 +102,7 @@ Bool BufferCheck(Buffer buffer)
/* .lwcheck: If LW frames are enabled, the buffer may become */
/* trapped asynchronously. It can't become untrapped */
- /* asynchronously, though. See design.mps.alloc-frame.lw-frame.pop. */
+ /* asynchronously, though. See . */
/* Read a snapshot value of the limit field. Use this to determine */
/* if we are trapped, and to permit more useful checking when not */
/* yet trapped. */
@@ -252,7 +252,7 @@ failInit:
/* BufferCreate -- create an allocation buffer
*
- * See design.mps.buffer.method.create. */
+ * See . */
Res BufferCreate(Buffer *bufferReturn, BufferClass class,
Pool pool, Bool isMutator, ...)
@@ -269,7 +269,7 @@ Res BufferCreate(Buffer *bufferReturn, BufferClass class,
/* BufferCreateV -- create an allocation buffer, with varargs
*
- * See design.mps.buffer.method.create. */
+ * See . */
Res BufferCreateV(Buffer *bufferReturn, BufferClass class,
Pool pool, Bool isMutator, va_list args)
@@ -360,7 +360,7 @@ void BufferDetach(Buffer buffer, Pool pool)
/* BufferDestroy -- destroy an allocation buffer
*
- * See design.mps.buffer.method.destroy. */
+ * See . */
void BufferDestroy(Buffer buffer)
{
@@ -390,7 +390,7 @@ void BufferFinish(Buffer buffer)
AVER((pool->class->attr & AttrBUF)); /* .trans.mod */
AVER(BufferIsReady(buffer));
- /* design.mps.alloc-frame.lw-frame.sync.trip */
+ /* */
if (BufferIsTrappedByMutator(buffer)) {
BufferFrameNotifyPopPending(buffer);
}
@@ -473,7 +473,7 @@ static void BufferSetUnflipped(Buffer buffer)
/* BufferFrameState
*
* Returns the frame state of a buffer. See
- * design.mps.alloc-frame.lw-frame.states. */
+ * . */
FrameState BufferFrameState(Buffer buffer)
{
@@ -496,7 +496,7 @@ FrameState BufferFrameState(Buffer buffer)
/* BufferFrameSetState
*
* Sets the frame state of a buffer. Only the mutator may set the
- * PopPending state. See design.mps.alloc-frame.lw-frame.states. */
+ * PopPending state. See . */
void BufferFrameSetState(Buffer buffer, FrameState state)
{
@@ -529,7 +529,7 @@ void BufferSetAllocAddr(Buffer buffer, Addr addr)
*
* Notifies the pool when a lightweight frame pop operation has been
* deferred and needs to be processed. See
- * design.mps.alloc-frame.lw-frame.sync.trip. */
+ * . */
static void BufferFrameNotifyPopPending(Buffer buffer)
{
@@ -553,7 +553,7 @@ static void BufferFrameNotifyPopPending(Buffer buffer)
/* BufferFramePush
*
- * See design.mps.alloc-frame. */
+ * See . */
Res BufferFramePush(AllocFrame *frameReturn, Buffer buffer)
{
@@ -581,7 +581,7 @@ Res BufferFramePush(AllocFrame *frameReturn, Buffer buffer)
/* BufferFramePop
*
- * See design.mps.alloc-frame. */
+ * See . */
Res BufferFramePop(Buffer buffer, AllocFrame frame)
{
@@ -659,7 +659,7 @@ void BufferAttach(Buffer buffer, Addr base, Addr limit,
filled = AddrOffset(init, limit);
buffer->fillSize += filled;
if (buffer->isMutator) {
- if (base != init) { /* see design.mps.buffer.count.alloc.how */
+ if (base != init) { /* see */
Size prealloc = AddrOffset(base, init);
ArenaGlobals(buffer->arena)->allocMutatorSize -= prealloc;
}
@@ -708,7 +708,7 @@ Res BufferFill(Addr *pReturn, Buffer buffer, Size size,
BufferSetUnflipped(buffer);
}
- /* design.mps.alloc-frame.lw-frame.sync.trip */
+ /* */
if (BufferIsTrappedByMutator(buffer)) {
BufferFrameNotifyPopPending(buffer);
}
@@ -764,7 +764,7 @@ Bool BufferCommit(Buffer buffer, Addr p, Size size)
AVER(SizeIsAligned(size, BufferPool(buffer)->alignment));
AVER(!BufferIsReady(buffer));
- /* See design.mps.collection.flip. */
+ /* See . */
/* .commit.before: If a flip occurs before this point, when the */
/* pool reads "initAtFlip" it will point below the object, so it */
/* will be trashed and the commit must fail when trip is called. */
@@ -972,7 +972,7 @@ Bool BufferIsTrapped(Buffer buffer)
/* BufferIsTrappedByMutator
*
* Indicates whether the mutator trapped the buffer. See
- * design.mps.alloc-frame.lw-frame.sync.trip and .ap.async. */
+ * and .ap.async. */
Bool BufferIsTrappedByMutator(Buffer buffer)
{
@@ -1207,7 +1207,7 @@ Bool BufferClassCheck(BufferClass class)
/* BufferClass -- the vanilla buffer class definition
*
- * See design.mps.buffer.class.hierarchy.buffer. */
+ * See . */
DEFINE_CLASS(BufferClass, class)
{
@@ -1458,7 +1458,7 @@ static Res segBufDescribe(Buffer buffer, mps_lib_FILE *stream)
/* SegBufClass -- SegBuf class definition
*
* Supports an association with a single segment when attached. See
- * design.mps.buffer.class.hierarchy.segbuf. */
+ * . */
typedef BufferClassStruct SegBufClassStruct;
diff --git a/mps/code/cbs.c b/mps/code/cbs.c
index 3ea8e263938..1fc89960a5a 100644
--- a/mps/code/cbs.c
+++ b/mps/code/cbs.c
@@ -9,7 +9,7 @@
* .purpose: CBSs are used to manage potentially unbounded
* collections of memory blocks.
*
- * .sources: design.mps.cbs.
+ * .sources: .
*/
#include "cbs.h"
@@ -22,7 +22,7 @@
SRCID(cbs, "$Id$");
-/* See design.mps.cbs.align */
+/* See */
#define cbsMinimumAlignment ((Align)sizeof(void *))
#define cbsOfSplayTree(tree) PARENT(CBSStruct, splayTree, (tree))
@@ -34,7 +34,7 @@ SRCID(cbs, "$Id$");
/* CBSEmergencyBlock* -- Getters and setters for emergency blocks
*
- * See design.mps.cbs.impl.low-mem.inline.block.
+ * See .
*/
#define CBSEmergencyBlockBase(block) ((Addr)(block))
@@ -51,7 +51,7 @@ SRCID(cbs, "$Id$");
/* CBSEmergencyGrain* -- Getters and setters for emergency grains
*
- * See design.mps.cbs.impl.low-mem.inline.grain.
+ * See .
*/
#define CBSEmergencyGrainBase(grain) ((Addr)(grain))
@@ -125,7 +125,7 @@ Bool CBSCheck(CBS cbs)
CHECKL(cbs->shrink == NULL || FUNCHECK(cbs->shrink));
CHECKL(cbs->mayUseInline || cbs->emergencyBlockList == NULL);
CHECKL(cbs->mayUseInline || cbs->emergencyGrainList == NULL);
- /* See design.mps.cbs.align */
+ /* See */
CHECKL(!cbs->mayUseInline ||
AlignIsAligned(cbs->alignment, cbsMinimumAlignment));
/* can't check emergencyBlockList or emergencyGrainList more */
@@ -136,7 +136,7 @@ Bool CBSCheck(CBS cbs)
}
-/* CBSBlockCheck -- See design.mps.cbs.function.cbs.block.check */
+/* CBSBlockCheck -- See */
Bool CBSBlockCheck(CBSBlock block)
{
@@ -153,7 +153,7 @@ Bool CBSBlockCheck(CBSBlock block)
}
-/* CBSBlockSize -- see design.mps.cbs.function.cbs.block.size */
+/* CBSBlockSize -- see */
Size (CBSBlockSize)(CBSBlock block)
{
@@ -164,7 +164,7 @@ Size (CBSBlockSize)(CBSBlock block)
/* cbsSplayCompare -- Compare key to [base,limit)
*
- * See design.mps.splay.type.splay.compare.method
+ * See
*/
static Compare cbsSplayCompare(void *key, SplayNode node)
@@ -268,7 +268,7 @@ static void cbsUpdateNode(SplayTree tree, SplayNode node,
/* CBSInit -- Initialise a CBS structure
*
- * See design.mps.cbs.function.cbs.init.
+ * See .
*/
Res CBSInit(Arena arena, CBS cbs, void *owner,
@@ -284,7 +284,7 @@ Res CBSInit(Arena arena, CBS cbs, void *owner,
AVER(delete == NULL || FUNCHECK(delete));
AVER(BoolCheck(mayUseInline));
if (mayUseInline) {
- /* See design.mps.cbs.align */
+ /* See */
if (!AlignIsAligned(alignment, cbsMinimumAlignment))
return ResPARAM;
}
@@ -327,7 +327,7 @@ Res CBSInit(Arena arena, CBS cbs, void *owner,
/* CBSFinish -- Finish a CBS structure
*
- * See design.mps.cbs.function.cbs.finish.
+ * See .
*/
void CBSFinish(CBS cbs)
@@ -521,7 +521,7 @@ static Res cbsInsertIntoTree(Addr *baseReturn, Addr *limitReturn,
Size oldRightSize = CBSBlockSize(rightCBS);
/* must block larger neighbour and destroy smaller neighbour; */
- /* see design.mps.cbs.function.cbs.insert.callback */
+ /* see */
if (oldLeftSize >= oldRightSize) {
Addr rightLimit = rightCBS->limit;
cbsBlockDelete(cbs, rightCBS);
@@ -700,7 +700,7 @@ static Res cbsAddToEmergencyLists(CBS cbs, Addr base, Addr limit)
AVER(cbs->mayUseInline);
size = AddrOffset(base, limit);
- /* Use the block list if possible. See design.mps.cbs.align. */
+ /* Use the block list if possible. See . */
if (size > cbsMinimumAlignment) {
CBSEmergencyBlock prev, block, new;
new = CBSEmergencyBlockInit(base, limit);
@@ -834,7 +834,7 @@ static void cbsFlushEmergencyLists(CBS cbs)
/* CBSInsert -- Insert a range into the CBS
*
- * See design.mps.cbs.functions.cbs.insert.
+ * See .
*/
Res CBSInsertReturningRange(Addr *baseReturn, Addr *limitReturn,
@@ -946,7 +946,7 @@ static Res cbsDeleteFromTree(CBS cbs, Addr base, Addr limit)
Size leftNewSize = AddrOffset(cbsBlock->base, base);
Size rightNewSize = AddrOffset(limit, cbsBlock->limit);
/* must shrink larger fragment and create smaller; */
- /* see design.mps.cbs.function.cbs.delete.callback */
+ /* see */
if (leftNewSize >= rightNewSize) {
Addr oldLimit = cbsBlock->limit;
AVER(limit < cbsBlock->limit);
@@ -1090,7 +1090,7 @@ static Res cbsDeleteFromEmergencyGrainList(CBS cbs, Addr base, Addr limit)
/* CBSDelete -- Remove a range from a CBS
*
- * See design.mps.cbs.function.cbs.delete.
+ * See .
*/
Res CBSDelete(CBS cbs, Addr base, Addr limit)
@@ -1157,7 +1157,7 @@ static Res CBSSplayNodeDescribe(SplayNode splayNode, mps_lib_FILE *stream)
/* CBSIterate -- Iterate all blocks in CBS
*
* This is not necessarily efficient.
- * See design.mps.cbs.function.cbs.iterate.
+ * See .
*/
/* Internal version without enter/leave checking. */
@@ -1246,7 +1246,7 @@ void CBSIterateLarge(CBS cbs, CBSIterateMethod iterate, void *closureP)
/* CBSSetMinSize -- Set minimum interesting size for cbs
*
* This function may invoke the shrink and grow methods as
- * appropriate. See design.mps.cbs.function.cbs.set.min-size.
+ * appropriate. See .
*/
typedef struct {
@@ -1628,7 +1628,7 @@ Bool CBSFindLargest(Addr *baseReturn, Addr *limitReturn,
/* CBSDescribe -- describe a CBS
*
- * See design.mps.cbs.function.cbs.describe.
+ * See .
*/
Res CBSDescribe(CBS cbs, mps_lib_FILE *stream)
diff --git a/mps/code/cbs.h b/mps/code/cbs.h
index 452b7c2ef30..85f13082c27 100644
--- a/mps/code/cbs.h
+++ b/mps/code/cbs.h
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .source: design.mps.cbs.
+ * .source: .
*/
#ifndef cbs_h
@@ -21,10 +21,10 @@ typedef void (*CBSChangeSizeMethod)(CBS cbs, CBSBlock block,
typedef Bool (*CBSIterateMethod)(CBS cbs, CBSBlock block, void *closureP);
-/* See design.mps.cbs.impl.low-mem.inline.block */
+/* See */
typedef void **CBSEmergencyBlock; /* next, limit */
-/* See design.mps.cbs.impl.low-mem.inline.block */
+/* See */
typedef void **CBSEmergencyGrain; /* next */
@@ -87,9 +87,9 @@ extern void CBSSetMinSize(CBS cbs, Size minSize);
extern Res CBSDescribe(CBS cbs, mps_lib_FILE *stream);
extern Res CBSBlockDescribe(CBSBlock block, mps_lib_FILE *stream);
-/* CBSBlockBase -- See design.mps.cbs.function.cbs.block.base */
+/* CBSBlockBase -- See */
#define CBSBlockBase(block) ((block)->base)
-/* CBSBlockLimit -- See design.mps.cbs.function.cbs.block.limit */
+/* CBSBlockLimit -- See */
#define CBSBlockLimit(block) ((block)->limit)
#define CBSBlockSize(block) AddrOffset((block)->base, (block)->limit)
extern Size (CBSBlockSize)(CBSBlock block);
diff --git a/mps/code/check.h b/mps/code/check.h
index b30e27e719b..84a87592ba6 100644
--- a/mps/code/check.h
+++ b/mps/code/check.h
@@ -111,8 +111,8 @@ extern void AssertFail1(const char *s);
/* CHECKT -- check type simply
*
- * Must be thread safe. See design.mps.interface.c.thread-safety
- * and design.mps.interface.c.check.space.
+ * Must be thread safe. See
+ * and .
*/
#define CHECKT(type, val) ((val) != NULL && (val)->sig == type ## Sig)
diff --git a/mps/code/config.h b/mps/code/config.h
index 0886f9686f0..3691e24c0ac 100644
--- a/mps/code/config.h
+++ b/mps/code/config.h
@@ -14,7 +14,7 @@
*
* DESIGN
*
- * See design.mps.config.
+ * See .
*/
#ifndef config_h
@@ -24,7 +24,7 @@
/* Variety Configuration
*
* Convert CONFIG_VAR_* defined on compiler command line into
- * internal configuration parameters. See design.mps.config.var
+ * internal configuration parameters. See
* and design.mps.variety.macro. Note that MPS_HOT is subclassed
* into MPS_HOT_RED and MPS_HOT_WHITE; this distinction should
* be rarely used.
@@ -253,7 +253,7 @@
/* Product Configuration
*
* Convert CONFIG_PROD_* defined on compiler command line into
- * internal configuration parameters. See design.mps.config.prod.
+ * internal configuration parameters. See .
*/
#if defined(CONFIG_PROD_EPCORE)
diff --git a/mps/code/dbgpool.c b/mps/code/dbgpool.c
index 5a1ba300a87..7254dc95f25 100644
--- a/mps/code/dbgpool.c
+++ b/mps/code/dbgpool.c
@@ -136,7 +136,7 @@ static Res DebugPoolInit(Pool pool, va_list args)
/* fencepost init */
/* @@@@ This parses a user argument, options, so it should really */
/* go through the MPS interface. The template needs to be copied */
- /* into Addr memory, to avoid breaking design.mps.type.addr.use. */
+ /* into Addr memory, to avoid breaking . */
debug->fenceSize = options->fenceSize;
if (debug->fenceSize != 0) {
if (debug->fenceSize % PoolAlignment(pool) != 0) {
@@ -413,7 +413,7 @@ static void TagWalk(Pool pool, ObjectsStepMethod step, void *p)
{
SplayNode node;
PoolDebugMixin debug;
- Addr dummy = NULL; /* Breaks design.mps.type.addr.use, but it's */
+ Addr dummy = NULL; /* Breaks , but it's */
/* only temporary until SplayTreeFirst is fixed. */
AVERT(Pool, pool);
@@ -481,7 +481,7 @@ void mps_pool_check_fenceposts(mps_pool_t mps_pool)
Pool pool = (Pool)mps_pool;
Arena arena;
- /* CHECKT not AVERT, see design.mps.interface.c.check.space */
+ /* CHECKT not AVERT, see */
AVER(CHECKT(Pool, pool));
arena = PoolArena(pool);
diff --git a/mps/code/event.h b/mps/code/event.h
index d49c1efffb3..26538c91e6e 100644
--- a/mps/code/event.h
+++ b/mps/code/event.h
@@ -9,7 +9,7 @@
*
* DESIGN
*
- * .design: design.mps.telemetry.
+ * .design: .
*/
#ifndef event_h
@@ -34,7 +34,7 @@ extern void EventLabelAddr(Addr, Word);
extern Res EventFlush(void);
-/* Event Kinds --- see design.mps.telemetry
+/* Event Kinds --- see
*
* All events are classified as being of one event type.
* They are small enough to be able to be used as shifts within a word.
diff --git a/mps/code/eventcom.h b/mps/code/eventcom.h
index 72165a3fe23..79c87c7d46d 100644
--- a/mps/code/eventcom.h
+++ b/mps/code/eventcom.h
@@ -45,7 +45,7 @@ typedef EventUnion *Event;
#endif
-/* Event types -- see design.mps.telemetry
+/* Event types -- see
*
* These names are intended to be mnemonic. They are derived from
* selected letters as indicated, using the transliteration in
diff --git a/mps/code/eventdef.h b/mps/code/eventdef.h
index 88a656a3e60..9f312ff2a45 100644
--- a/mps/code/eventdef.h
+++ b/mps/code/eventdef.h
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .source: design.mps.telemetry
+ * .source:
*
* .desc: This file declares relationships that define the various
* event types. It is intended to be used with clever definitions
diff --git a/mps/code/finalcv.c b/mps/code/finalcv.c
index 801dbd294e4..b9dc50602c6 100644
--- a/mps/code/finalcv.c
+++ b/mps/code/finalcv.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * See design.mps.poolmrg.test.
+ * See .
*
* DEPENDENCIES
*
@@ -104,7 +104,7 @@ static void *test(void *arg, size_t s)
"root_create\n");
die(mps_ap_create(&ap, amc, MPS_RANK_EXACT), "ap_create\n");
- /* design.mps.poolmrg.test.promise.ut.alloc */
+ /* */
for(i = 0; i < rootCOUNT; ++i) {
do {
MPS_RESERVE_BLOCK(e, p, ap, slotSIZE);
@@ -117,7 +117,7 @@ static void *test(void *arg, size_t s)
}
p = NULL;
- /* design.mps.poolmrg.test.promise.ut.drop */
+ /* */
for(i = 0; i < rootCOUNT; ++i) {
if (rnd() % 2 == 0)
root[i] = NULL;
@@ -125,7 +125,7 @@ static void *test(void *arg, size_t s)
mps_message_type_enable(arena, mps_message_type_finalization());
- /* design.mps.poolmrg.test.promise.ut.churn */
+ /* */
while(mps_collections(arena) < 3) {
churn(ap);
while(mps_message_poll(arena)) {
@@ -133,21 +133,21 @@ static void *test(void *arg, size_t s)
mps_word_t objind;
mps_addr_t objaddr;
- /* design.mps.poolmrg.test.promise.ut.message */
+ /* */
cdie(mps_message_get(&message, arena, mps_message_type_finalization()),
"get");
mps_message_finalization_ref(&objaddr, arena, message);
obj = objaddr;
objind = dylan_int_int(obj[2]);
printf("Finalizing: object %lu at %p\n", objind, objaddr);
- /* design.mps.poolmrg.test.promise.ut.final.check */
+ /* */
cdie(root[objind] == NULL, "died");
root[objind] = objaddr;
mps_message_discard(arena, message);
}
}
- /* @@@@ design.mps.poolmrg.test.promise.ut.nofinal.check missing */
+ /* @@@@ missing */
mps_ap_destroy(ap);
mps_root_destroy(mps_root[1]);
diff --git a/mps/code/format.c b/mps/code/format.c
index 0ba8527f3c7..76dd4f33d65 100644
--- a/mps/code/format.c
+++ b/mps/code/format.c
@@ -122,7 +122,7 @@ void FormatDestroy(Format format)
}
-/* Must be thread safe. See design.mps.interface.c.thread-safety. */
+/* Must be thread safe. See . */
Arena FormatArena(Format format)
{
/* Can't AVER format as that would not be thread-safe */
diff --git a/mps/code/global.c b/mps/code/global.c
index 3e3f26fa4e5..3bede9d3d6f 100644
--- a/mps/code/global.c
+++ b/mps/code/global.c
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .sources: See design.mps.arena. design.mps.thread-safety is relevant
+ * .sources: See . design.mps.thread-safety is relevant
* to the functions ArenaEnter and ArenaLeave in this file.
*
*
@@ -11,7 +11,7 @@
*
* .static: Static data is used in ArenaAccess (in order to find the
* appropriate arena) and GlobalsInit. It's checked in GlobalsCheck.
- * See design.mps.arena.static.
+ * See .
*
* .non-mod: The Globals structure has many fields which properly belong
* to other modules (see impl.h.mpmst); GlobalsInit contains code which
@@ -32,9 +32,9 @@ SRCID(global, "$Id$");
/* All static data objects are declared here. See .static */
-/* design.mps.arena.static.ring.init */
+/* */
static Bool arenaRingInit = FALSE;
-static RingStruct arenaRing; /* design.mps.arena.static.ring */
+static RingStruct arenaRing; /* */
/* ArenaControlPool -- get the control pool */
@@ -44,7 +44,7 @@ static RingStruct arenaRing; /* design.mps.arena.static.ring */
/* arenaClaimRingLock, arenaReleaseRingLock -- lock/release the arena ring
*
- * See design.mps.arena.static.ring.lock. */
+ * See . */
static void arenaClaimRingLock(void)
{
@@ -171,11 +171,11 @@ Bool GlobalsCheck(Globals arenaGlobals)
CHECKL(TraceSetSuper(arena->busyTraces, arena->flippedTraces));
TRACE_SET_ITER(ti, trace, TraceSetUNIV, arena)
- /* design.mps.arena.trace */
+ /* */
if (TraceSetIsMember(arena->busyTraces, trace)) {
CHECKD(Trace, trace);
} else {
- /* design.mps.arena.trace.invalid */
+ /* */
CHECKL(trace->sig == SigInvalid);
}
TRACE_SET_ITER_END(ti, trace, TraceSetUNIV, arena);
@@ -197,7 +197,7 @@ Bool GlobalsCheck(Globals arenaGlobals)
/* the oldest history entry must be a subset of the prehistory */
CHECKL(RefSetSub(rs, arena->prehistory));
- /* we also check the statics now. design.mps.arena.static.check */
+ /* we also check the statics now. */
CHECKL(BoolCheck(arenaRingInit));
CHECKL(RingCheck(&arenaRing));
@@ -224,7 +224,7 @@ Res GlobalsInit(Globals arenaGlobals)
/* Ensure static things are initialized. */
if (!arenaRingInit) {
/* there isn't an arena ring yet */
- /* design.mps.arena.static.init */
+ /* */
arenaRingInit = TRUE;
RingInit(&arenaRing);
ProtSetup();
@@ -273,7 +273,7 @@ Res GlobalsInit(Globals arenaGlobals)
arena->shCache[i] = NULL;
for (i=0; i < TraceLIMIT; i++) {
- /* design.mps.arena.trace.invalid */
+ /* */
arena->trace[i].sig = SigInvalid;
}
for(rank = 0; rank < RankLIMIT; ++rank)
@@ -306,7 +306,7 @@ Res GlobalsCompleteCreate(Globals arenaGlobals)
AVERT(Globals, arenaGlobals);
arena = GlobalsArena(arenaGlobals);
- /* initialize the message stuff, design.mps.message */
+ /* initialize the message stuff, */
{
void *v;
@@ -391,7 +391,7 @@ void GlobalsPrepareToDestroy(Globals arenaGlobals)
arena->enabledMessageTypes = NULL;
}
- /* destroy the final pool (see design.mps.finalize) */
+ /* destroy the final pool (see ) */
if (arena->isFinalPool) {
/* All this subtlety is because PoolDestroy will call */
/* ArenaCheck several times. The invariant on finalPool */
@@ -440,7 +440,7 @@ void ArenaLeave(Arena arena)
{
AVERT(Arena, arena);
ShieldLeave(arena);
- ProtSync(arena); /* design.mps.prot.if.sync */
+ ProtSync(arena); /* */
LockReleaseMPM(ArenaGlobals(arena)->lock);
}
#endif
@@ -467,7 +467,7 @@ Bool ArenaAccess(Addr addr, AccessSet mode, MutatorFaultContext context)
Ring node, nextNode;
Res res;
- arenaClaimRingLock(); /* design.mps.arena.lock.ring */
+ arenaClaimRingLock(); /* */
mps_exception_info = context;
AVER(RingCheck(&arenaRing));
@@ -476,7 +476,7 @@ Bool ArenaAccess(Addr addr, AccessSet mode, MutatorFaultContext context)
Arena arena = GlobalsArena(arenaGlobals);
Root root;
- ArenaEnter(arena); /* design.mps.arena.lock.arena */
+ ArenaEnter(arena); /* */
/* @@@@ The code below assumes that Roots and Segs are disjoint. */
/* It will fall over (in TraceSegAccess probably) if there is a */
/* protected root on a segment. */
@@ -582,7 +582,7 @@ Bool ArenaStep(Globals globals, double interval)
/* ArenaFinalize -- registers an object for finalization
*
- * See design.mps.finalize. */
+ * See . */
Res ArenaFinalize(Arena arena, Ref obj)
{
diff --git a/mps/code/lock.h b/mps/code/lock.h
index 09b23e882a3..b32b5ed4a73 100644
--- a/mps/code/lock.h
+++ b/mps/code/lock.h
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .description: [@@@@ Should be combined with design.mps.lock]
+ * .description: [@@@@ Should be combined with ]
* This defines the type Lock, which supports simple recursive
* locking. Locking ensures that only a single thread may be running
* with a lock held. By claiming a lock in some code, this ensures
diff --git a/mps/code/lockan.c b/mps/code/lockan.c
index 329743186f4..a2256404583 100644
--- a/mps/code/lockan.c
+++ b/mps/code/lockan.c
@@ -18,7 +18,7 @@ SRCID(lockan, "$Id$");
typedef struct LockStruct { /* ANSI fake lock structure */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
unsigned long claims; /* # claims held by owner */
} LockStruct;
diff --git a/mps/code/lockfr.c b/mps/code/lockfr.c
index 4b1c2708eb6..af4ebc5e508 100644
--- a/mps/code/lockfr.c
+++ b/mps/code/lockfr.c
@@ -43,7 +43,7 @@ SRCID(lockfr, "$Id$");
*/
typedef struct LockStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
unsigned long claims; /* # claims held by owner */
pthread_mutex_t mut; /* the mutex itself */
} LockStruct;
diff --git a/mps/code/lockli.c b/mps/code/lockli.c
index 7516fd669da..dc117172941 100644
--- a/mps/code/lockli.c
+++ b/mps/code/lockli.c
@@ -65,7 +65,7 @@ SRCID(lockli, "$Id$");
*/
typedef struct LockStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
unsigned long claims; /* # claims held by owner */
pthread_mutex_t mut; /* the mutex itself */
} LockStruct;
diff --git a/mps/code/lockw3.c b/mps/code/lockw3.c
index cd3f5c91db0..161bb6ac1de 100644
--- a/mps/code/lockw3.c
+++ b/mps/code/lockw3.c
@@ -34,7 +34,7 @@ SRCID(lockw3, "$Id$");
/* .lock.win32: Win32 lock structure; uses CRITICAL_SECTION */
typedef struct LockStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
unsigned long claims; /* # claims held by the owning thread */
CRITICAL_SECTION cs; /* Win32's recursive lock thing */
} LockStruct;
diff --git a/mps/code/locus.c b/mps/code/locus.c
index 2359d4e1b07..2bb655c1d65 100644
--- a/mps/code/locus.c
+++ b/mps/code/locus.c
@@ -5,8 +5,8 @@
*
* DESIGN
*
- * See design.mps.arena.vm and design.mps.locus for basic locus stuff.
- * See design.mps.trace for chains.
+ * See and for basic locus stuff.
+ * See for chains.
*/
#include "chain.h"
diff --git a/mps/code/message.c b/mps/code/message.c
index 196d688dd29..1714a506c0f 100644
--- a/mps/code/message.c
+++ b/mps/code/message.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: See design.mps.message (it really exists).
+ * .design: See (it really exists).
*
* PURPOSE
*
@@ -136,7 +136,7 @@ void MessagePost(Arena arena, Message message)
AVERT(Message, message);
/* queueRing field must be a singleton, see */
- /* design.mps.message.fun.post.singleton */
+ /* */
AVER(!MessageOnQueue(message));
if(MessageTypeEnabled(arena, message->type)) {
RingAppend(&arena->messageRing, &message->queueRing);
diff --git a/mps/code/messtest.c b/mps/code/messtest.c
index da3d6236a34..b3ba19435ea 100644
--- a/mps/code/messtest.c
+++ b/mps/code/messtest.c
@@ -35,7 +35,7 @@ static MessageClassStruct DFMessageClassStruct = {
MessageNoGCLiveSize, /* GCLiveSize */
MessageNoGCCondemnedSize, /* GCCondemnedSize */
MessageNoGCNotCondemnedSize, /* GCNoteCondemnedSize */
- MessageClassSig /* design.mps.message.class.sig.double */
+ MessageClassSig /* */
};
@@ -49,7 +49,7 @@ static MessageClassStruct DGCMessageClassStruct = {
MessageNoGCLiveSize, /* GCLiveSize */
MessageNoGCCondemnedSize, /* GCCondemnedSize */
MessageNoGCNotCondemnedSize, /* GCNoteCondemnedSize */
- MessageClassSig /* design.mps.message.class.sig.double */
+ MessageClassSig /* */
};
diff --git a/mps/code/misc.h b/mps/code/misc.h
index 5c3bcdfbb59..89851f6918f 100644
--- a/mps/code/misc.h
+++ b/mps/code/misc.h
@@ -15,7 +15,7 @@
#include
-typedef int Bool; /* design.mps.type.bool */
+typedef int Bool; /* */
enum {
FALSE = 0,
TRUE = 1
diff --git a/mps/code/mpm.c b/mps/code/mpm.c
index a561dbd2b45..ba74cb50c98 100644
--- a/mps/code/mpm.c
+++ b/mps/code/mpm.c
@@ -6,7 +6,7 @@
* .purpose: Miscellaneous support for the implementation of the MPM
* and pool classes.
*
- * .sources: design.mps.writef */
+ * .sources: */
#include "mpm.h"
#include
@@ -393,7 +393,7 @@ static Res WriteDouble(mps_lib_FILE *stream, double d)
/* WriteF -- write formatted output
*
- * .writef.des: See design.mps.writef, also design.mps.lib
+ * .writef.des: See , also
*
* .writef.p: There is an assumption that void * fits in Word in
* the case of $P, and unsigned long for $U and $B. This is checked in
diff --git a/mps/code/mpm.h b/mps/code/mpm.h
index d5273db9d7c..b18a9b76fa7 100644
--- a/mps/code/mpm.h
+++ b/mps/code/mpm.h
@@ -32,7 +32,7 @@ extern Bool MPMCheck(void);
/* Miscellaneous Checks -- see impl.c.mpm */
-/* design.mps.type.bool.check */
+/* */
#define BoolCheck(b) ((unsigned)(b) <= 1)
extern Bool FunCheck(Fun f);
@@ -100,7 +100,7 @@ extern Addr (AddrAlignDown)(Addr addr, Align align);
extern Addr (AddrSet)(Addr target, Byte value, Size size);
/* This is one of the places that implements Addr, so it's allowed to */
-/* convert to void *, see design.mps.type.addr.ops.mem. */
+/* convert to void *, see . */
#define AddrSet(target, value, size) \
mps_lib_memset(target, (int)(value), size)
@@ -139,7 +139,7 @@ extern Shift SizeLog2(Size size);
extern Shift SizeFloorLog2(Size size);
-/* Formatted Output -- see design.mps.writef, impl.c.mpm */
+/* Formatted Output -- see , impl.c.mpm */
extern Res WriteF(mps_lib_FILE *stream, ...);
@@ -151,33 +151,33 @@ extern size_t StringLength(const char *s);
/* Version Determination
*
- * See design.mps.version-library. */
+ * See -library. */
extern char *MPSVersion(void);
-/* Bit Table Interface -- see design.mps.bt.if.* for doc */
+/* Bit Table Interface -- see .* for doc */
-/* design.mps.bt.if.size */
+/* */
extern size_t (BTSize)(unsigned long length);
#define BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))
-/* design.mps.bt.if.get */
+/* */
extern Bool (BTGet)(BT bt, Index index);
#define BTGet(a, i) \
((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] \
>> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) \
& (Word)1))
-/* design.mps.bt.if.set */
+/* */
extern void (BTSet)(BT bt, Index index);
#define BTSet(a, i) \
BEGIN \
(a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1< */
extern void (BTRes)(BT bt, Index index);
#define BTRes(a, i) \
BEGIN \
@@ -323,7 +323,7 @@ extern AbstractCollectPoolClass AbstractCollectPoolClassGet(void);
/* DEFINE_POOL_CLASS
*
- * Convenience macro -- see design.mps.protocol.int.define-special. */
+ * Convenience macro -- see . */
#define DEFINE_POOL_CLASS(className, var) \
DEFINE_ALIAS_CLASS(className, PoolClass, var)
@@ -332,7 +332,7 @@ extern AbstractCollectPoolClass AbstractCollectPoolClassGet(void);
((PoolClass)SUPERCLASS(className))
-/* Message Interface -- see design.mps.message */
+/* Message Interface -- see */
extern Bool MessageCheck(Message message);
extern Bool MessageClassCheck(MessageClass class);
@@ -467,7 +467,7 @@ extern void TraceScanSingleRef(TraceSet ts, Rank rank, Arena arena,
/* DEFINE_ARENA_CLASS
*
- * Convenience macro -- see design.mps.protocol.int.define-special. */
+ * Convenience macro -- see . */
#define DEFINE_ARENA_CLASS(className, var) \
DEFINE_ALIAS_CLASS(className, ArenaClass, var)
@@ -868,12 +868,12 @@ extern void (ShieldFlush)(Arena arena);
/* Protection Interface
*
- * See design.mps.prot for the design of the generic interface including
+ * See for the design of the generic interface including
* the contracts for these functions.
*
* This interface has several different implementations, typically one
* per platform, see impl.c.prot* for the various implementations, and
- * design.mps.prot* for the corresponding designs. */
+ * * for the corresponding designs. */
extern void ProtSetup(void);
diff --git a/mps/code/mpmst.h b/mps/code/mpmst.h
index 12994ef60b3..673fd36e5a4 100644
--- a/mps/code/mpmst.h
+++ b/mps/code/mpmst.h
@@ -15,7 +15,7 @@
* .rationale.sig: Object signatures (PoolSig, etc.) are defined here,
* along with the structures, so that any code which can see a structure
* can also check its signature before using any of its fields. See
- * design.mps.sig.test.uniq to check that signatures are unique. */
+ * to check that signatures are unique. */
#ifndef mpmst_h
#define mpmst_h
@@ -30,11 +30,11 @@
/* PoolClassStruct -- pool class structure
*
- * See design.mps.pool.
+ * See .
*
* .class: The pool class structure is defined by each pool class
* implementation in order to provide an interface between the MPM
- * and the class (see design.mps.class-interface) via generic
+ * and the class (see ) via generic
* functions (see impl.c.pool). A class XXX defines a function
* PoolClassXXX() returning a PoolClass pointing to a PoolClassStruct
* of methods which implement the memory management policy.
@@ -86,12 +86,12 @@ typedef struct PoolClassStruct {
* a "subclass" of the pool structure (the "outer structure") which
* contains PoolStruct as a a field. The outer structure holds the
* class-specific part of the pool's state. See impl.c.pool,
- * design.mps.pool. */
+ * . */
#define PoolSig ((Sig)0x519B0019) /* SIGnature POOL */
typedef struct PoolStruct { /* generic structure */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
Serial serial; /* from arena->poolSerial */
PoolClass class; /* pool class structure */
Arena arena; /* owning arena */
@@ -111,14 +111,14 @@ typedef struct PoolStruct { /* generic structure */
/* MFSStruct -- MFS (Manual Fixed Small) pool outer structure
*
- * .mfs: See impl.c.poolmfs, design.mps.poolmfs.
+ * .mfs: See impl.c.poolmfs, .
*
* The MFS outer structure is declared here because it is inlined
* in the control pool structure which is inlined in the arena. Normally,
* pool outer structures are declared with the pools.
*
* The signature is placed at the end, see
- * design.mps.pool.outer-structure.sig. */
+ * . */
#define MFSSig ((Sig)0x5193F599) /* SIGnature MFS */
@@ -130,13 +130,13 @@ typedef struct MFSStruct { /* MFS outer structure */
Word unitsPerExtent; /* number of units per arena alloc */
struct MFSHeaderStruct *freeList; /* head of the free list */
Tract tractList; /* the first tract */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} MFSStruct;
/* MVStruct -- MV (Manual Variable) pool outer structure
*
- * .mv: See impl.c.poolmv, design.mps.poolmv.
+ * .mv: See impl.c.poolmv, .
*
* The MV pool outer structure is declared here because it is the
* control pool structure which is inlined in the arena. Normally,
@@ -152,15 +152,15 @@ typedef struct MVStruct { /* MV pool outer structure */
Size avgSize; /* client estimate of allocation size */
Size maxSize; /* client estimate of maximum size */
Size space; /* total free space in pool */
- Size lost; /* design.mps.poolmv.lost */
+ Size lost; /* */
RingStruct spans; /* span chain */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} MVStruct;
/* ReservoirStruct -- Reservoir structure
*
- * .reservoir: See impl.c.reserv, design.mps.reservoir.
+ * .reservoir: See impl.c.reserv, .
*
* The Reservoir structure is declared here because it is in-lined in
* the arena for storing segments for the low-memory reservoir. It is
@@ -175,19 +175,19 @@ typedef struct ReservoirStruct { /* Reservoir structure */
Tract reserve; /* linked list of reserve tracts */
Size reservoirLimit; /* desired reservoir size */
Size reservoirSize; /* actual reservoir size */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} ReservoirStruct;
/* MessageClassStruct -- Message Class structure
*
- * See design.mps.message.class.struct (and design.mps.message.message,
- * and design.mps.message.class). */
+ * See (and ,
+ * and ). */
#define MessageClassSig ((Sig)0x519359c1) /* SIGnature MeSsaGe CLass */
typedef struct MessageClassStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
const char *name; /* Human readable Class name */
/* generic methods */
@@ -201,17 +201,17 @@ typedef struct MessageClassStruct {
MessageGCCondemnedSizeMethod gcCondemnedSize;
MessageGCNotCondemnedSizeMethod gcNotCondemnedSize;
- Sig endSig; /* design.mps.message.class.sig.double */
+ Sig endSig; /* */
} MessageClassStruct;
#define MessageSig ((Sig)0x5193e559) /* SIG MESSaGe */
/* MessageStruct -- Message structure
*
- * See design.mps.message.message.struct. */
+ * See . */
typedef struct MessageStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
Arena arena; /* owning arena */
MessageType type; /* Message Type */
MessageClass class; /* Message Class Structure */
@@ -221,7 +221,7 @@ typedef struct MessageStruct {
/* SegClassStruct -- segment class structure
*
- * See design.mps.seg & design.mps.protocol.
+ * See & .
*
* .seg.class: The segment class structure is defined by each segment
* class implementation in order to provide a generic interface to
@@ -252,7 +252,7 @@ typedef struct SegClassStruct {
/* SegStruct -- segment structure
*
* .seg: Segments are the basic units of protection and tracer activity
- * for allocated memory. See design.mps.seg. */
+ * for allocated memory. See . */
#define SegSig ((Sig)0x5195E999) /* SIGnature SEG */
@@ -275,7 +275,7 @@ typedef struct SegStruct { /* segment structure */
/* GCSegStruct -- GCable segment structure
*
* .seggc: GCSeg is a subclass of Seg with support for buffered
- * allocation and GC. See design.mps.seg. */
+ * allocation and GC. See . */
#define GCSegSig ((Sig)0x5199C5E9) /* SIGnature GC SEG */
@@ -284,7 +284,7 @@ typedef struct GCSegStruct { /* GC segment structure */
RingStruct greyRing; /* link in list of grey segs */
RefSet summary; /* summary of references out of seg */
Buffer buffer; /* non-NULL if seg is buffered */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} GCSegStruct;
@@ -310,7 +310,7 @@ typedef struct SegPrefStruct { /* segment placement preferences */
/* BufferClassStruct -- buffer class structure
*
- * See design.mps.buffer & design.mps.protocol.
+ * See & .
*
* .buffer.class: The buffer class structure is defined by each buffer
* class implementation in order to provide a generic interface to
@@ -339,7 +339,7 @@ typedef struct BufferClassStruct {
/* APStruct -- allocation point structure
*
- * AP are part of the design of buffers see design.mps.buffer.
+ * AP are part of the design of buffers see .
*
* The allocation point is exported to the client code so that it can
* do in-line buffered allocation.
@@ -359,14 +359,14 @@ typedef struct APStruct {
/* BufferStruct -- allocation buffer structure
*
- * See impl.c.buffer, design.mps.buffer.
+ * See impl.c.buffer, .
*
* The buffer contains an AP which may be exported to the client. */
#define BufferSig ((Sig)0x519B0FFE) /* SIGnature BUFFEr */
typedef struct BufferStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
BufferClass class; /* buffer class structure */
Serial serial; /* from pool->bufferSerial */
Arena arena; /* owning arena */
@@ -396,7 +396,7 @@ typedef struct SegBufStruct {
BufferStruct bufferStruct; /* superclass fields must come first */
RankSet rankSet; /* ranks of references being created */
Seg seg; /* segment being buffered */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} SegBufStruct;
@@ -462,7 +462,7 @@ typedef struct ScanStateStruct {
Word zoneShift; /* copy of arena->zoneShift. See .ss.zone */
ZoneSet white; /* white set, for inline fix test */
RefSet unfixedSummary; /* accumulated summary of scanned references */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
Arena arena; /* owning arena */
TraceSet traces; /* traces to scan for */
Rank rank; /* reference rank of scanning */
@@ -487,7 +487,7 @@ typedef struct ScanStateStruct {
#define TraceSig ((Sig)0x51924ACE) /* SIGnature TRACE */
typedef struct TraceStruct {
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
TraceId ti; /* index into TraceSets */
Arena arena; /* owning arena */
ZoneSet white; /* zones in the white set */
@@ -580,7 +580,7 @@ typedef struct GlobalsStruct {
Lock lock; /* arena's lock */
/* polling fields (impl.c.global) */
- double pollThreshold; /* design.mps.arena.poll */
+ double pollThreshold; /* */
Bool insidePoll;
Bool clamped; /* prevent background activity */
double fillMutatorSize; /* total bytes filled, mutator buffers */
@@ -593,7 +593,7 @@ typedef struct GlobalsStruct {
const char *mpsVersionString; /* MPSVersion() */
/* buffer fields (impl.c.buffer) */
- Bool bufferLogging; /* design.mps.buffer.logging.control */
+ Bool bufferLogging; /* */
/* pool fields (impl.c.pool) */
RingStruct poolRing; /* ring of pools in arena */
@@ -612,15 +612,15 @@ typedef struct GlobalsStruct {
#define ArenaSig ((Sig)0x519A6E4A) /* SIGnature ARENA */
typedef struct ArenaStruct {
- GlobalsStruct globals; /* must be first, see design.mps.arena.globals */
+ GlobalsStruct globals; /* must be first, see */
Serial serial;
ArenaClass class; /* arena class structure */
- Bool poolReady; /* design.mps.arena.pool.ready */
- MVStruct controlPoolStruct; /* design.mps.arena.pool */
+ Bool poolReady; /* */
+ MVStruct controlPoolStruct; /* */
- ReservoirStruct reservoirStruct; /* design.mps.reservoir */
+ ReservoirStruct reservoirStruct; /* */
Size committed; /* amount of committed RAM */
Size commitLimit; /* client-configurable commit limit */
@@ -646,11 +646,11 @@ typedef struct ArenaStruct {
RingStruct formatRing; /* ring of formats attached to arena */
Serial formatSerial; /* serial of next format */
- /* message fields (design.mps.message, impl.c.message) */
+ /* message fields (, impl.c.message) */
RingStruct messageRing; /* ring of pending messages */
BT enabledMessageTypes; /* map of which types are enabled */
- /* finalization fields (design.mps.finalize), impl.c.poolmrg */
+ /* finalization fields (), impl.c.poolmrg */
Bool isFinalPool; /* indicator for finalPool */
Pool finalPool; /* either NULL or an MRG pool */
@@ -670,15 +670,15 @@ typedef struct ArenaStruct {
TraceSet busyTraces; /* set of running traces */
TraceSet flippedTraces; /* set of running and flipped traces */
TraceStruct trace[TraceLIMIT]; /* trace structures. See
- design.mps.trace.intance.limit */
+ */
RingStruct greyRing[RankLIMIT]; /* ring of grey segments at each rank */
STATISTIC_DECL(Count writeBarrierHitCount); /* write barrier hits */
RingStruct chainRing; /* ring of chains */
/* location dependency fields (impl.c.ld) */
- Epoch epoch; /* design.mps.arena.ld.epoch */
- RefSet prehistory; /* design.mps.arena.ld.prehistory */
- RefSet history[LDHistoryLENGTH]; /* design.mps.arena.ld.history */
+ Epoch epoch; /* */
+ RefSet prehistory; /* */
+ RefSet history[LDHistoryLENGTH]; /* */
Sig sig;
} ArenaStruct;
diff --git a/mps/code/mpmtypes.h b/mps/code/mpmtypes.h
index 7bcd2f00b5c..a92a38169c4 100644
--- a/mps/code/mpmtypes.h
+++ b/mps/code/mpmtypes.h
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .design: design.mps.type
+ * .design:
*
* .rationale: Types and type constants are almost all defined
* in this header, in advance of any declarations of prototypes
@@ -24,21 +24,21 @@
/* TYPES */
-typedef unsigned long Sig; /* design.mps.sig */
-typedef int Res; /* design.mps.type.res */
+typedef unsigned long Sig; /* */
+typedef int Res; /* */
-typedef void (*Fun)(void); /* design.mps.type.fun */
-typedef MPS_T_WORD Word; /* design.mps.type.word */
-typedef unsigned char Byte; /* design.mps.type.byte */
-typedef struct AddrStruct *Addr; /* design.mps.type.addr */
-typedef Word Size; /* design.mps.type.size */
-typedef Word Count; /* design.mps.type.count */
-typedef Word Index; /* design.mps.type.index */
-typedef Word Align; /* design.mps.type.align */
-typedef unsigned Shift; /* design.mps.type.shift */
-typedef unsigned Serial; /* design.mps.type.serial */
-typedef Addr Ref; /* design.mps.type.ref */
-typedef void *Pointer; /* design.mps.type.pointer */
+typedef void (*Fun)(void); /* */
+typedef MPS_T_WORD Word; /* */
+typedef unsigned char Byte; /* */
+typedef struct AddrStruct *Addr; /* */
+typedef Word Size; /* */
+typedef Word Count; /* */
+typedef Word Index; /* */
+typedef Word Align; /* */
+typedef unsigned Shift; /* */
+typedef unsigned Serial; /* */
+typedef Addr Ref; /* */
+typedef void *Pointer; /* */
typedef Word RefSet; /* design.mps.refset */
typedef Word ZoneSet; /* design.mps.refset */
@@ -46,28 +46,28 @@ typedef unsigned Rank;
typedef unsigned RankSet;
typedef unsigned RootMode;
typedef Size Epoch; /* design.mps.ld */
-typedef unsigned TraceId; /* design.mps.trace */
-typedef unsigned TraceSet; /* design.mps.trace */
-typedef unsigned TraceState; /* design.mps.trace */
-typedef unsigned AccessSet; /* design.mps.type.access-set */
-typedef unsigned Attr; /* design.mps.type.attr */
+typedef unsigned TraceId; /* */
+typedef unsigned TraceSet; /* */
+typedef unsigned TraceState; /* */
+typedef unsigned AccessSet; /* */
+typedef unsigned Attr; /* */
typedef unsigned FormatVariety;
-typedef int RootVar; /* design.mps.type.rootvar */
+typedef int RootVar; /* */
-typedef Word *BT; /* design.mps.bt */
+typedef Word *BT; /* */
typedef struct BootBlockStruct *BootBlock; /* impl.c.boot */
-typedef struct BufferStruct *Buffer; /* design.mps.buffer */
-typedef struct SegBufStruct *SegBuf; /* design.mps.buffer */
-typedef struct BufferClassStruct *BufferClass; /* design.mps.buffer */
-typedef BufferClass SegBufClass; /* design.mps.buffer */
-typedef BufferClass RankBufClass; /* design.mps.buffer */
-typedef unsigned BufferMode; /* design.mps.buffer */
-typedef unsigned FrameState; /* design.mps.alloc-frame */
-typedef struct APStruct *AP; /* design.mps.buffer */
+typedef struct BufferStruct *Buffer; /* */
+typedef struct SegBufStruct *SegBuf; /* */
+typedef struct BufferClassStruct *BufferClass; /* */
+typedef BufferClass SegBufClass; /* */
+typedef BufferClass RankBufClass; /* */
+typedef unsigned BufferMode; /* */
+typedef unsigned FrameState; /* */
+typedef struct APStruct *AP; /* */
typedef struct FormatStruct *Format; /* design.mps.format */
typedef struct LDStruct *LD; /* design.mps.ld */
typedef struct LockStruct *Lock; /* impl.c.lock* */
-typedef struct PoolStruct *Pool; /* design.mps.pool */
+typedef struct PoolStruct *Pool; /* */
typedef struct PoolClassStruct *PoolClass; /* impl.c.poolclas */
typedef PoolClass AbstractPoolClass; /* impl.c.poolabs */
typedef PoolClass AbstractAllocFreePoolClass; /* impl.c.poolabs */
@@ -75,10 +75,10 @@ typedef PoolClass AbstractBufferPoolClass; /* impl.c.poolabs */
typedef PoolClass AbstractSegBufPoolClass; /* impl.c.poolabs */
typedef PoolClass AbstractScanPoolClass; /* impl.c.poolabs */
typedef PoolClass AbstractCollectPoolClass; /* impl.c.poolabs */
-typedef struct TraceStruct *Trace; /* design.mps.trace */
-typedef struct ScanStateStruct *ScanState; /* design.mps.trace */
-typedef struct ChainStruct *Chain; /* design.mps.trace */
-typedef struct TractStruct *Tract; /* design.mps.arena */
+typedef struct TraceStruct *Trace; /* */
+typedef struct ScanStateStruct *ScanState; /* */
+typedef struct ChainStruct *Chain; /* */
+typedef struct TractStruct *Tract; /* */
typedef struct ChunkStruct *Chunk; /* impl.c.tract */
typedef struct ChunkCacheEntryStruct *ChunkCacheEntry; /* impl.c.tract */
typedef struct PageStruct *Page; /* impl.c.tract */
@@ -88,19 +88,19 @@ typedef struct SegClassStruct *SegClass; /* impl.c.seg */
typedef SegClass GCSegClass; /* impl.c.seg */
typedef struct SegPrefStruct *SegPref; /* design.mps.pref, impl.c.locus */
typedef int SegPrefKind; /* design.mps.pref, impl.c.locus */
-typedef struct ArenaClassStruct *ArenaClass; /* design.mps.arena */
+typedef struct ArenaClassStruct *ArenaClass; /* */
typedef ArenaClass AbstractArenaClass; /* impl.c.arena */
-typedef struct ArenaStruct *Arena; /* design.mps.arena */
-typedef struct GlobalsStruct *Globals; /* design.mps.arena */
+typedef struct ArenaStruct *Arena; /* */
+typedef struct GlobalsStruct *Globals; /* */
typedef struct VMStruct *VM; /* impl.c.vm* */
typedef struct RootStruct *Root; /* impl.c.root */
typedef struct ThreadStruct *Thread; /* impl.c.th* */
typedef struct MutatorFaultContextStruct
- *MutatorFaultContext; /* design.mps.prot */
+ *MutatorFaultContext; /* */
typedef struct PoolDebugMixinStruct *PoolDebugMixin;
typedef struct AllocPatternStruct *AllocPattern;
-typedef struct AllocFrameStruct *AllocFrame; /* design.mps.alloc-frame */
-typedef struct ReservoirStruct *Reservoir; /* design.mps.reservoir */
+typedef struct AllocFrameStruct *AllocFrame; /* */
+typedef struct ReservoirStruct *Reservoir; /* */
/* Arena*Method -- see impl.h.mpmst.ArenaClassStruct */
@@ -121,7 +121,7 @@ typedef Res (*ArenaDescribeMethod)(Arena arena, mps_lib_FILE *stream);
/* Messages
*
- * See design.mps.message
+ * See
*/
typedef unsigned MessageType;
@@ -140,7 +140,7 @@ typedef Res (*TraceFixMethod)(ScanState ss, Ref *refIO);
typedef void (*FormattedObjectsStepMethod)(Addr, Format, Pool,
void *, Size);
-/* Seg*Method -- see design.mps.seg */
+/* Seg*Method -- see */
typedef Res (*SegInitMethod)(Seg seg, Pool pool, Addr base, Size size,
Bool withReservoirPermit, va_list args);
@@ -161,7 +161,7 @@ typedef Res (*SegSplitMethod)(Seg seg, Seg segHi,
Addr base, Addr mid, Addr limit,
Bool withReservoirPermit, va_list args);
-/* Buffer*Method -- see design.mps.buffer */
+/* Buffer*Method -- see */
typedef Res (*BufferInitMethod)(Buffer buffer, Pool pool, va_list args);
typedef void (*BufferFinishMethod)(Buffer buffer);
@@ -175,7 +175,7 @@ typedef void (*BufferReassignSegMethod)(Buffer buffer, Seg seg);
typedef Res (*BufferDescribeMethod)(Buffer buffer, mps_lib_FILE *stream);
-/* Pool*Method -- see design.mps.class-interface */
+/* Pool*Method -- see */
/* Order of types corresponds to PoolClassStruct in impl.h.mpmst */
@@ -218,7 +218,7 @@ typedef Res (*PoolDescribeMethod)(Pool pool, mps_lib_FILE *stream);
typedef PoolDebugMixin (*PoolDebugMixinMethod)(Pool pool);
-/* Message*Method -- design.mps.message */
+/* Message*Method -- */
typedef void (*MessageDeleteMethod)(Message message);
typedef void (*MessageFinalizationRefMethod)
@@ -228,7 +228,7 @@ typedef Size (*MessageGCCondemnedSizeMethod)(Message message);
typedef Size (*MessageGCNotCondemnedSizeMethod)(Message message);
-/* Message Types -- design.mps.message and elsewhere */
+/* Message Types -- and elsewhere */
typedef struct MessageFinalizationStruct *MessageFinalization;
@@ -246,7 +246,7 @@ typedef void (*FormatPadMethod)(Addr base, Size size);
typedef Addr (*FormatClassMethod)(Addr object);
-/* Root*Method -- see design.mps.root-interface */
+/* Root*Method -- see -interface */
/* .root-methods: These methods must match those defined in the */
/* MPS C Interface. (See impl.h.mps.root-methods.) */
@@ -257,11 +257,11 @@ typedef Res (*RootScanRegMethod)(ScanState ss, Thread thread, void *p, size_t s)
/* CONSTANTS */
-/* design.mps.sig SIGnature IS BAD */
+/* SIGnature IS BAD */
#define SigInvalid ((Sig)0x51915BAD)
#define SizeMAX ((Size)-1)
-#define AccessSetEMPTY ((AccessSet)0) /* design.mps.type.access-set */
+#define AccessSetEMPTY ((AccessSet)0) /* */
#define AccessREAD ((AccessSet)(1<<0))
#define AccessWRITE ((AccessSet)(1<<1))
#define AccessSetWIDTH (2)
@@ -273,7 +273,7 @@ typedef Res (*RootScanRegMethod)(ScanState ss, Thread thread, void *p, size_t s)
#define TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))
#define RankSetEMPTY BS_EMPTY(RankSet)
#define RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))
-#define AttrFMT ((Attr)(1<<0)) /* design.mps.type.attr */
+#define AttrFMT ((Attr)(1<<0)) /* */
#define AttrSCAN ((Attr)(1<<1))
#define AttrPM_NO_READ ((Attr)(1<<2))
#define AttrPM_NO_WRITE ((Attr)(1<<3))
@@ -319,7 +319,7 @@ enum {
#define BufferModeTRANSITION ((BufferMode)(1<<3))
-/* Buffer frame states. See design.mps.alloc-frame.lw-frame.states */
+/* Buffer frame states. See */
enum {
BufferFrameVALID = 1,
BufferFramePOP_PENDING,
@@ -327,7 +327,7 @@ enum {
};
-/* Rank constants -- see design.mps.type.rank */
+/* Rank constants -- see */
/* These definitions must match impl.h.mps.rank. */
/* This is checked by impl.c.mpsi.check. */
@@ -350,7 +350,7 @@ enum {
#define RootModePROTECTABLE_INNER ((RootMode)1<<2)
-/* Root Variants -- see design.mps.type.rootvar
+/* Root Variants -- see
*
* .rootvar: Synchonize with impl.c.root.rootvarcheck
*/
@@ -365,7 +365,7 @@ enum {
};
-/* .result-codes: Result Codes -- see design.mps.type.res */
+/* .result-codes: Result Codes -- see */
/* These definitions must match impl.h.mps.result-codes. */
/* This is checked by impl.c.mpsi.check.rc. */
/* Changing this list entails changing the list in */
@@ -384,7 +384,7 @@ enum {
};
-/* TraceStates -- see design.mps.trace */
+/* TraceStates -- see */
enum {
TraceINIT = 1,
@@ -395,7 +395,7 @@ enum {
};
-/* MessageTypes -- see design.mps.message */
+/* MessageTypes -- see */
/* .message.types: Keep in sync with impl.h.mps.message.types */
enum {
diff --git a/mps/code/mps.h b/mps/code/mps.h
index 823137e8f08..4fc132d7882 100644
--- a/mps/code/mps.h
+++ b/mps/code/mps.h
@@ -4,7 +4,7 @@
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
* .readership: customers, MPS developers.
- * .sources: design.mps.interface.c.
+ * .sources: .
*/
#ifndef mps_h
diff --git a/mps/code/mpsi.c b/mps/code/mpsi.c
index ae4e3ae6ecf..a2caccc3a72 100644
--- a/mps/code/mpsi.c
+++ b/mps/code/mpsi.c
@@ -9,7 +9,7 @@
* usage of the MPS Interface. .purpose.thread: It excludes multiple
* threads from the MPM by locking the Arena (see .thread-safety).
*
- * .design: design.mps.interface.c
+ * .design:
*
*
* NOTES
@@ -44,7 +44,7 @@
* interface is designed allows for the possibility of change.
*
* .naming: (rule.impl.guide) The exported identifiers do not follow the
- * normal MPS naming conventions. See design.mps.interface.c.naming. */
+ * normal MPS naming conventions. See . */
#include "mpm.h"
#include "mps.h"
@@ -91,7 +91,7 @@ static Bool mpsi_check(void)
CHECKL((int)MPS_RANK_WEAK == (int)RankWEAK);
/* The external idea of a word width and the internal one */
- /* had better match. See design.mps.interface.c.cons. */
+ /* had better match. See . */
CHECKL(sizeof(mps_word_t) == sizeof(void *));
CHECKL(CHECKTYPE(mps_word_t, Word));
@@ -100,8 +100,8 @@ static Bool mpsi_check(void)
CHECKL(CHECKTYPE(mps_addr_t, Addr));
/* The external idea of size and the internal one had */
- /* better match. See design.mps.interface.c.cons.size */
- /* and design.mps.interface.c.pun.size. */
+ /* better match. See */
+ /* and . */
CHECKL(CHECKTYPE(size_t, Size));
/* Check ap_s/APStruct compatibility by hand */
@@ -146,7 +146,7 @@ static Bool mpsi_check(void)
/* are not equal. See impl.h.mpmst.ss. CHECKFIELDAPPROX */
/* is used on the fix field because its type is punned and */
/* therefore isn't exactly checkable. See */
- /* design.mps.interface.c.pun.addr. */
+ /* . */
CHECKL(CHECKFIELDAPPROX(mps_ss_s, fix, ScanStateStruct, fix));
CHECKL(CHECKFIELD(mps_ss_s, w0, ScanStateStruct, zoneShift));
CHECKL(CHECKFIELD(mps_ss_s, w1, ScanStateStruct, white));
@@ -461,7 +461,7 @@ mps_bool_t mps_arena_has_addr(mps_arena_t mps_arena, mps_addr_t p)
*
* .fmt.create.A.purpose: This function converts an object format spec
* of variant "A" into an MPM Format object. See
- * design.mps.interface.c.fmt.extend for justification of the way that
+ * for justification of the way that
* the format structure is declared as "mps_fmt_A". */
mps_res_t mps_fmt_create_A(mps_fmt_t *mps_fmt_o,
@@ -653,7 +653,7 @@ mps_res_t mps_alloc(mps_addr_t *p_o, mps_pool_t mps_pool, size_t size, ...)
AVERT(Pool, pool);
AVER(size > 0);
/* Note: class may allow unaligned size, see */
- /* design.mps.class-interface.alloc.size.align. */
+ /* . */
/* Rest ignored, see .varargs. */
/* @@@@ There is currently no requirement for reservoirs to work */
@@ -693,7 +693,7 @@ void mps_free(mps_pool_t mps_pool, mps_addr_t p, size_t size)
AVER(PoolHasAddr(pool, p));
AVER(size > 0);
/* Note: class may allow unaligned size, see */
- /* design.mps.class-interface.alloc.size.align. */
+ /* . */
PoolFree(pool, (Addr)p, size);
ArenaLeave(arena);
@@ -852,7 +852,7 @@ mps_bool_t (mps_commit)(mps_ap_t mps_ap, mps_addr_t p, size_t size)
/* mps_ap_frame_push -- push a new allocation frame
*
- * See design.mps.alloc-frame.lw-frame.push. */
+ * See . */
mps_res_t (mps_ap_frame_push)(mps_frame_t *frame_o, mps_ap_t mps_ap)
{
@@ -893,7 +893,7 @@ mps_res_t (mps_ap_frame_push)(mps_frame_t *frame_o, mps_ap_t mps_ap)
/* mps_ap_frame_pop -- push a new allocation frame
*
- * See design.mps.alloc-frame.lw-frame.pop. */
+ * See . */
mps_res_t (mps_ap_frame_pop)(mps_ap_t mps_ap, mps_frame_t frame)
{
@@ -1402,7 +1402,7 @@ void mps_ld_reset(mps_ld_t mps_ld, mps_arena_t mps_arena)
/* mps_ld_add -- add a reference to a location dependency
*
- * See design.mps.interface.c.lock-free. */
+ * See . */
void mps_ld_add(mps_ld_t mps_ld, mps_arena_t mps_arena, mps_addr_t addr)
{
@@ -1415,7 +1415,7 @@ void mps_ld_add(mps_ld_t mps_ld, mps_arena_t mps_arena, mps_addr_t addr)
/* mps_ld_merge -- merge two location dependencies
*
- * See design.mps.interface.c.lock-free. */
+ * See . */
void mps_ld_merge(mps_ld_t mps_ld, mps_arena_t mps_arena,
mps_ld_t mps_from)
@@ -1430,7 +1430,7 @@ void mps_ld_merge(mps_ld_t mps_ld, mps_arena_t mps_arena,
/* mps_ld_isstale -- check whether a location dependency is "stale"
*
- * See design.mps.interface.c.lock-free. */
+ * See . */
mps_bool_t mps_ld_isstale(mps_ld_t mps_ld, mps_arena_t mps_arena,
mps_addr_t addr)
diff --git a/mps/code/mpsio.h b/mps/code/mpsio.h
index 43dfe096316..db3149dff58 100644
--- a/mps/code/mpsio.h
+++ b/mps/code/mpsio.h
@@ -4,7 +4,7 @@
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
* .readership: For MPS client application developers, MPS developers.
- * .sources: design.mps.io
+ * .sources:
*/
#ifndef mpsio_h
diff --git a/mps/code/mpsioan.c b/mps/code/mpsioan.c
index 99fd9e95cb7..fd7dea92601 100644
--- a/mps/code/mpsioan.c
+++ b/mps/code/mpsioan.c
@@ -4,7 +4,7 @@
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
* .readership: For MPS client application developers and MPS developers.
- * .sources: design.mps.io
+ * .sources:
*/
#include "mpsio.h"
diff --git a/mps/code/mpslib.h b/mps/code/mpslib.h
index 1c4864bff45..3d4251de2b5 100644
--- a/mps/code/mpslib.h
+++ b/mps/code/mpslib.h
@@ -4,7 +4,7 @@
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
* .readership: MPS client application developers, MPS developers.
- * .sources: design.mps.lib
+ * .sources:
*
* .purpose: The purpose of this file is to declare the functions and types
* required for the MPS library interface.
diff --git a/mps/code/mpsliban.c b/mps/code/mpsliban.c
index 6b58c8417b5..4705b70c523 100644
--- a/mps/code/mpsliban.c
+++ b/mps/code/mpsliban.c
@@ -10,7 +10,7 @@
* Interface.
*
* .readership: For MPS client application developers and MPS developers.
- * .sources: design.mps.lib
+ * .sources:
*
*
* TRANSGRESSIONS (rule.impl.trans)
diff --git a/mps/code/mpsw3.h b/mps/code/mpsw3.h
index 4a11f66e9ea..e7cf8159606 100644
--- a/mps/code/mpsw3.h
+++ b/mps/code/mpsw3.h
@@ -4,7 +4,7 @@
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
* .readership: customers, MPS developers.
- * .sources: design.mps.interface.c.
+ * .sources: .
*/
#ifndef mpsw3_h
diff --git a/mps/code/pool.c b/mps/code/pool.c
index bc4c49b774e..0728824743e 100644
--- a/mps/code/pool.c
+++ b/mps/code/pool.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: See design.mps.class-interface and design.mps.pool.
+ * .design: See and .
*
* PURPOSE
*
@@ -99,7 +99,7 @@ Bool PoolCheck(Pool pool)
/* PoolInit, PoolInitV -- initialize a pool
*
* Initialize the generic fields of the pool and calls class-specific
- * init. See design.mps.pool.align. */
+ * init. See . */
Res PoolInit(Pool pool, Arena arena, PoolClass class, ...)
{
@@ -130,7 +130,7 @@ Res PoolInitV(Pool pool, Arena arena, PoolClass class, va_list args)
/* putting another lock in the code. */
class->labelled = TRUE;
classId = EventInternString(class->name);
- /* @@@@ this breaks design.mps.type.addr.use */
+ /* @@@@ this breaks */
EventLabelAddr((Addr)class, classId);
}
@@ -147,7 +147,7 @@ Res PoolInitV(Pool pool, Arena arena, PoolClass class, va_list args)
pool->fillInternalSize = 0.0;
pool->emptyInternalSize = 0.0;
- /* Initialise signature last; see design.mps.sig */
+ /* Initialise signature last; see */
pool->sig = PoolSig;
pool->serial = globals->poolSerial;
++(globals->poolSerial);
@@ -399,7 +399,7 @@ Res PoolScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
/* PoolFix* -- fix a reference to an object in this pool
*
- * See impl.h.mpm for macro version; see design.mps.pool.req.fix. */
+ * See impl.h.mpm for macro version; see . */
Res (PoolFix)(Pool pool, ScanState ss, Seg seg, Addr *refIO)
{
diff --git a/mps/code/poolabs.c b/mps/code/poolabs.c
index f888e9cb885..9269a586e53 100644
--- a/mps/code/poolabs.c
+++ b/mps/code/poolabs.c
@@ -181,7 +181,7 @@ DEFINE_CLASS(AbstractCollectPoolClass, class)
/* PoolNo*, PoolTriv* -- Trivial and non-methods for Pool Classes
*
- * See design.mps.pool.no and design.mps.pool.triv
+ * See and
*/
diff --git a/mps/code/poolamc.c b/mps/code/poolamc.c
index 6a46d1554ec..62aad6f08be 100644
--- a/mps/code/poolamc.c
+++ b/mps/code/poolamc.c
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .sources: design.mps.poolamc.
+ * .sources: .
*/
#include "mpscamc.h"
@@ -76,7 +76,7 @@ typedef struct amcNailboardStruct {
* .segtype: AMC segs have a pointer to the type field of either
* a nailboard or a generation. This initial value is passed
* as an additional parameter when the segment is allocated.
- * See design.mps.poolamc.fix.nail.distinguish.
+ * See .
*/
typedef struct amcSegStruct *amcSeg;
@@ -140,7 +140,7 @@ static Res AMCSegInit(Seg seg, Pool pool, Addr base, Size size,
/* AMCSegDescribe -- describe the contents of a segment
*
- * See design.mps.poolamc.seg-describe.
+ * See .
*/
static Res AMCSegDescribe(Seg seg, mps_lib_FILE *stream)
{
@@ -231,7 +231,7 @@ DEFINE_SEG_CLASS(amcSegClass, class)
/* amcSegHasNailboard -- test whether the segment has a nailboard
*
- * See design.mps.poolamc.fix.nail.distinguish.
+ * See .
*/
static Bool amcSegHasNailboard(Seg seg)
{
@@ -272,12 +272,12 @@ static amcGen amcSegGen(Seg seg)
/* AMCStruct -- pool AMC descriptor
*
- * See design.mps.poolamc.struct.
+ * See .
*/
#define AMCSig ((Sig)0x519A3C99) /* SIGnature AMC */
-typedef struct AMCStruct { /* design.mps.poolamc.struct */
+typedef struct AMCStruct { /* */
PoolStruct poolStruct; /* generic pool structure */
RankSet rankSet; /* rankSet for entire pool */
RingStruct genRing; /* ring of generations */
@@ -288,9 +288,9 @@ typedef struct AMCStruct { /* design.mps.poolamc.struct */
amcGen nursery; /* the default mutator generation */
amcGen rampGen; /* the ramp generation */
amcGen afterRampGen; /* the generation after rampGen */
- unsigned rampCount; /* design.mps.poolamc.ramp.count */
- int rampMode; /* design.mps.poolamc.ramp.mode */
- Sig sig; /* design.mps.pool.outer-structure.sig */
+ unsigned rampCount; /* */
+ int rampMode; /* */
+ Sig sig; /* */
} AMCStruct;
#define Pool2AMC(pool) PARENT(AMCStruct, poolStruct, (pool))
@@ -348,7 +348,7 @@ typedef struct amcBufStruct *amcBuf;
typedef struct amcBufStruct {
SegBufStruct segbufStruct; /* superclass fields must come first */
amcGen gen; /* The AMC generation */
- Sig sig; /* design.mps.sig */
+ Sig sig; /* */
} amcBufStruct;
@@ -419,7 +419,7 @@ static Res AMCBufInit(Buffer buffer, Pool pool, va_list args)
/* Set up the buffer to be allocating in the nursery. */
amcbuf->gen = amc->nursery;
} else {
- amcbuf->gen = NULL; /* no gen yet -- see design.mps.poolamc.forward.gen */
+ amcbuf->gen = NULL; /* no gen yet -- see */
}
amcbuf->sig = amcBufSig;
AVERT(amcBuf, amcbuf);
@@ -707,7 +707,7 @@ static Bool amcNailRangeIsMarked(Seg seg, Addr base, Addr limit)
/* amcInitComm -- initialize AMC/Z pool
*
- * See design.mps.poolamc.init.
+ * See .
* Shared by AMCInit and AMCZinit.
*/
static Res amcInitComm(Pool pool, RankSet rankSet, va_list arg)
@@ -811,7 +811,7 @@ static Res AMCZInit(Pool pool, va_list arg)
/* AMCFinish -- finish AMC pool
*
- * See design.mps.poolamc.finish.
+ * See .
*/
static void AMCFinish(Pool pool)
{
@@ -865,7 +865,7 @@ static void AMCFinish(Pool pool)
/* AMCBufferFill -- refill an allocation buffer
*
- * See design.mps.poolamc.fill.
+ * See .
*/
static Res AMCBufferFill(Addr *baseReturn, Addr *limitReturn,
Pool pool, Buffer buffer, Size size,
@@ -909,7 +909,7 @@ static Res AMCBufferFill(Addr *baseReturn, Addr *limitReturn,
if (res != ResOK)
return res;
- /* design.mps.seg.field.rankSet.start */
+ /* */
if (BufferRankSet(buffer) == RankSetEMPTY)
SegSetRankAndSummary(seg, BufferRankSet(buffer), RefSetEMPTY);
else
@@ -939,7 +939,7 @@ static Res AMCBufferFill(Addr *baseReturn, Addr *limitReturn,
/* amcBufferEmpty -- detach a buffer from a segment
*
- * See design.mps.poolamc.flush.
+ * See .
*/
static void AMCBufferEmpty(Pool pool, Buffer buffer, Addr init, Addr limit)
{
@@ -960,7 +960,7 @@ static void AMCBufferEmpty(Pool pool, Buffer buffer, Addr init, Addr limit)
arena = BufferArena(buffer);
- /* design.mps.poolamc.flush.pad */
+ /* */
size = AddrOffset(init, limit);
if (size > 0) {
ShieldExpose(arena, seg);
@@ -1109,7 +1109,7 @@ static Res AMCWhiten(Pool pool, Trace trace, Seg seg)
amc = Pool2AMC(pool);
AVERT(AMC, amc);
- /* see design.mps.poolamc.gen.ramp */
+ /* see */
/* This switching needs to be more complex for multiple traces. */
AVER(TraceSetIsSingle(PoolArena(pool)->busyTraces));
if (amc->rampMode == beginRamp && gen == amc->rampGen) {
@@ -1233,7 +1233,7 @@ static Res amcScanNailed(Bool *totalReturn, ScanState ss, Pool pool,
/* AMCScan -- scan a single seg, turning it black
*
- * See design.mps.poolamc.seg-scan.
+ * See .
*/
static Res AMCScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
{
@@ -1261,7 +1261,7 @@ static Res AMCScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
EVENT_PPP(AMCScanBegin, amc, seg, ss);
base = AddrAdd(SegBase(seg), format->headerSize);
- while(SegBuffer(seg) != NULL) { /* design.mps.poolamc.seg-scan.loop */
+ while(SegBuffer(seg) != NULL) { /* */
limit = AddrAdd(BufferScanLimit(SegBuffer(seg)), format->headerSize);
if (base >= limit) {
/* @@@@ Are we sure we don't need scan the rest of the segment? */
@@ -1278,7 +1278,7 @@ static Res AMCScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
base = limit;
}
- /* design.mps.poolamc.seg-scan.finish @@@@ base? */
+ /* @@@@ base? */
limit = AddrAdd(SegLimit(seg), format->headerSize);
AVER(SegBase(seg) <= base
&& base <= AddrAdd(SegLimit(seg), format->headerSize));
@@ -1338,7 +1338,7 @@ static void amcFixInPlace(Pool pool, Seg seg, ScanState ss, Ref *refIO)
/* AMCFixEmergency -- fix a reference, without allocating
*
- * See design.mps.poolamc.emergency.fix.
+ * See .
*/
static Res AMCFixEmergency(Pool pool, ScanState ss, Seg seg, Ref *refIO)
{
@@ -1371,7 +1371,7 @@ static Res AMCFixEmergency(Pool pool, ScanState ss, Seg seg, Ref *refIO)
return ResOK;
}
-fixInPlace: /* see design.mps.poolamc.Nailboard.emergency */
+fixInPlace: /* see .Nailboard.emergency */
amcFixInPlace(pool, seg, ss, refIO);
return ResOK;
}
@@ -1379,7 +1379,7 @@ fixInPlace: /* see design.mps.poolamc.Nailboard.emergency */
/* AMCFix -- fix a reference to the pool
*
- * See design.mps.poolamc.fix.
+ * See .
*/
Res AMCFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
{
@@ -1398,7 +1398,7 @@ Res AMCFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
RefSet toSummary; /* summary of object's destination */
Seg toSeg; /* segment to which object is being relocated */
- /* design.mps.trace.fix.noaver */
+ /* */
AVERT_CRITICAL(Pool, pool);
AVERT_CRITICAL(ScanState, ss);
AVERT_CRITICAL(Seg, seg);
@@ -1496,7 +1496,7 @@ Res AMCFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
if (RefSetDiff(summary, toSummary) != RefSetEMPTY)
SegSetSummary(toSeg, RefSetUnion(toSummary, summary));
- /* design.mps.trace.fix.copy */
+ /* */
(void)AddrCopy(newRef, ref, length);
ShieldCover(arena, toSeg);
@@ -1525,7 +1525,7 @@ returnRes:
/* AMCHeaderFix -- fix a reference to the pool, with headers
*
- * See design.mps.poolamc.header.fix.
+ * See .
*/
static Res AMCHeaderFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
{
@@ -1545,7 +1545,7 @@ static Res AMCHeaderFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
RefSet toSummary; /* summary of object's destination */
Seg toSeg; /* segment to which object is being relocated */
- /* design.mps.trace.fix.noaver */
+ /* */
AVERT_CRITICAL(Pool, pool);
AVERT_CRITICAL(ScanState, ss);
AVERT_CRITICAL(Seg, seg);
@@ -1645,7 +1645,7 @@ static Res AMCHeaderFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
if (RefSetDiff(summary, toSummary) != RefSetEMPTY)
SegSetSummary(toSeg, RefSetUnion(toSummary, summary));
- /* design.mps.trace.fix.copy */
+ /* */
(void)AddrCopy(newBase, AddrSub(ref, headerSize), length);
ShieldCover(arena, toSeg);
@@ -1701,7 +1701,7 @@ static void amcReclaimNailed(Pool pool, Trace trace, Seg seg)
goto adjustColour;
}
- /* see design.mps.poolamc.Nailboard.limitations for improvements */
+ /* see .Nailboard.limitations for improvements */
headerSize = format->headerSize;
ShieldExpose(arena, seg);
p = AddrAdd(SegBase(seg), headerSize);
@@ -1745,7 +1745,7 @@ adjustColour:
/* AMCReclaim -- recycle a segment if it is still white
*
- * See design.mps.poolamc.reclaim.
+ * See .
*/
static void AMCReclaim(Pool pool, Trace trace, Seg seg)
{
@@ -1862,7 +1862,7 @@ static void amcWalkAll(Pool pool, FormattedObjectsStepMethod f,
/* AMCDescribe -- describe the contents of the AMC pool
*
- * See design.mps.poolamc.describe.
+ * See .
*/
static Res AMCDescribe(Pool pool, mps_lib_FILE *stream)
{
@@ -2015,7 +2015,7 @@ void mps_amc_apply(mps_pool_t mps_pool,
/* AMCCheck -- check consistency of the AMC pool
*
- * See design.mps.poolamc.check.
+ * See .
*/
static Bool AMCCheck(AMC amc)
{
diff --git a/mps/code/poolams.c b/mps/code/poolams.c
index 4c2d0c33e31..480228c2b14 100644
--- a/mps/code/poolams.c
+++ b/mps/code/poolams.c
@@ -3,7 +3,7 @@
* $Id$
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
*
- * .design: See design.mps.poolams.
+ * .design: See .
*
*
* TRANSGRESSSIONS
@@ -41,7 +41,7 @@ Bool AMSSegCheck(AMSSeg amsseg)
CHECKL(amsseg->grains >= amsseg->free + amsseg->newAlloc);
if (SegWhite(seg) != TraceSetEMPTY)
- /* design.mps.poolams.colour.single */
+ /* */
CHECKL(TraceSetIsSingle(SegWhite(seg)));
CHECKL(BoolCheck(amsseg->marksChanged));
@@ -139,7 +139,7 @@ static Res AMSSegInit(Seg seg, Pool pool, Addr base, Size size,
amsseg->grains = size >> ams->grainShift;
amsseg->free = amsseg->grains;
amsseg->newAlloc = (Count)0;
- amsseg->marksChanged = FALSE; /* design.mps.poolams.marked.unused */
+ amsseg->marksChanged = FALSE; /* */
amsseg->ambiguousFixes = FALSE;
res = amsCreateTables(&amsseg->allocTable,
@@ -148,7 +148,7 @@ static Res AMSSegInit(Seg seg, Pool pool, Addr base, Size size,
if (res != ResOK)
goto failCreateTables;
- /* start off using firstFree, see design.mps.poolams.no-bit */
+ /* start off using firstFree, see */
amsseg->allocTableInUse = FALSE;
amsseg->firstFree = 0;
amsseg->colourTablesInUse = FALSE;
@@ -209,15 +209,15 @@ static void AMSSegFinish(Seg seg)
*
* .empty: segment merging and splitting is limited to simple cases
* where the high segment is empty.
- * See design.mps.poolams.split-merge.constrain.
+ * See .
*
* .grain-align: segment merging and splitting is limited to cases
* where the join is aligned with the grain alignment
- * See design.mps.poolams.split-merge.constrain.
+ * See .
*
* .alloc-early: Allocations are performed before calling the
* next method to simplify the fail cases. See
- * design.mps.seg.split-merge.fail
+ *
*
* .table-names: The names of local variables holding the new
* allocation and colour tables are chosen to have names which
@@ -383,10 +383,10 @@ static Res AMSSegSplit(Seg seg, Seg segHi,
amsseg->free -= hiGrains;
amssegHi->free = hiGrains;
amssegHi->newAlloc = (Count)0;
- amssegHi->marksChanged = FALSE; /* design.mps.poolams.marked.unused */
+ amssegHi->marksChanged = FALSE; /* */
amssegHi->ambiguousFixes = FALSE;
- /* start off using firstFree, see design.mps.poolams.no-bit */
+ /* start off using firstFree, see */
amssegHi->allocTableInUse = FALSE;
amssegHi->firstFree = 0;
/* use colour tables if the segment is white */
@@ -601,7 +601,7 @@ static Res AMSSegCreate(Seg *segReturn, Pool pool, Size size,
}
PoolGenUpdateZones(&ams->pgen, seg);
- /* see design.mps.seg.field.rankset */
+ /* see */
if (rankSet != RankSetEMPTY) {
SegSetRankAndSummary(seg, rankSet, RefSetUNIV);
} else {
@@ -640,7 +640,7 @@ static Res AMSIterate(Seg seg, AMSObjectFunction f, void *closure);
/* AMSInit -- the pool class initialization method
*
* Takes one additional argument: the format of the objects
- * allocated in the pool. See design.mps.poolams.init.
+ * allocated in the pool. See .
*/
static Res AMSInit(Pool pool, va_list args)
{
@@ -777,7 +777,7 @@ static Bool amsSegAlloc(Index *baseReturn, Index *limitReturn,
/* AMSBufferFill -- the pool class buffer fill method
*
* Iterates over the segments looking for space. See
- * design.mps.poolams.fill.
+ * .
*/
Res AMSBufferFill(Addr *baseReturn, Addr *limitReturn,
Pool pool, Buffer buffer, Size size,
@@ -804,12 +804,12 @@ Res AMSBufferFill(Addr *baseReturn, Addr *limitReturn,
AVER(BoolCheck(withReservoirPermit));
/* Check that we're not in the grey mutator phase (see */
- /* design.mps.poolams.fill.colour). */
+ /* ). */
AVER(PoolArena(pool)->busyTraces == PoolArena(pool)->flippedTraces);
rankSet = BufferRankSet(buffer);
ring = (ams->allocRing)(ams, rankSet, size);
- /* design.mps.poolams.fill.slow */
+ /* */
RING_FOR(node, ring, nextNode) {
AMSSeg amsseg = RING_ELT(AMSSeg, segRing, node);
AVERT_CRITICAL(AMSSeg, amsseg);
@@ -849,7 +849,7 @@ found:
/* AMSBufferEmpty -- the pool class buffer empty method
*
* Frees the unused part of the buffer. The colour of the area doesn't
- * need to be changed. See design.mps.poolams.empty.
+ * need to be changed. See .
*/
void AMSBufferEmpty(Pool pool, Buffer buffer, Addr init, Addr limit)
{
@@ -954,13 +954,13 @@ Res AMSWhiten(Pool pool, Trace trace, Seg seg)
amsseg = Seg2AMSSeg(seg);
AVERT(AMSSeg, amsseg);
- /* design.mps.poolams.colour.single */
+ /* */
AVER(SegWhite(seg) == TraceSetEMPTY);
AVER(!amsseg->colourTablesInUse);
amsseg->colourTablesInUse = TRUE;
buffer = SegBuffer(seg);
- if (buffer != NULL) { /* design.mps.poolams.condemn.buffer */
+ if (buffer != NULL) { /* */
Index scanLimitIndex, limitIndex;
scanLimitIndex = AMS_ADDR_INDEX(seg, BufferScanLimit(buffer));
limitIndex = AMS_ADDR_INDEX(seg, BufferLimit(buffer));
@@ -980,7 +980,7 @@ Res AMSWhiten(Pool pool, Trace trace, Seg seg)
/* The unused part of the buffer is new allocation by definition. */
ams->pgen.newSize -= AMSGrainsSize(ams, amsseg->newAlloc - uncondemned);
amsseg->newAlloc = uncondemned;
- amsseg->marksChanged = FALSE; /* design.mps.poolams.marked.condemn */
+ amsseg->marksChanged = FALSE; /* */
amsseg->ambiguousFixes = FALSE;
SegSetWhite(seg, TraceSetAdd(SegWhite(seg), trace));
@@ -1109,7 +1109,7 @@ static Res amsScanObject(Seg seg, Index i, Addr p, Addr next, void *clos)
/* AMSScan -- the pool class segment scanning method
*
- * See design.mps.poolams.scan
+ * See
*/
Res AMSScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
{
@@ -1132,7 +1132,7 @@ Res AMSScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
AVERT(AMSSeg, amsseg);
/* Check that we're not in the grey mutator phase (see */
- /* design.mps.poolams.not-req.grey). */
+ /* ). */
AVER(TraceSetSub(ss->traces, arena->flippedTraces));
closureStruct.scanAllObjects =
@@ -1153,13 +1153,13 @@ Res AMSScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
format = pool->format;
AVERT(Format, format);
alignment = PoolAlignment(AMS2Pool(ams));
- do { /* design.mps.poolams.scan.iter */
- amsseg->marksChanged = FALSE; /* design.mps.poolams.marked.scan */
- /* design.mps.poolams.ambiguous.middle */
+ do { /* */
+ amsseg->marksChanged = FALSE; /* */
+ /* */
if (amsseg->ambiguousFixes) {
res = (ams->iterate)(seg, amsScanObject, &closureStruct);
if (res != ResOK) {
- /* design.mps.poolams.marked.scan.fail */
+ /* */
amsseg->marksChanged = TRUE;
*totalReturn = FALSE;
return res;
@@ -1180,7 +1180,7 @@ Res AMSScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg)
j = AMS_ADDR_INDEX(seg, next);
res = (*format->scan)(ss, clientP, clientNext);
if (res != ResOK) {
- /* design.mps.poolams.marked.scan.fail */
+ /* */
amsseg->marksChanged = TRUE;
*totalReturn = FALSE;
return res;
@@ -1224,7 +1224,7 @@ Res AMSFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
AVER_CRITICAL(amsseg->colourTablesInUse);
/* @@@@ We should check that we're not in the grey mutator phase */
- /* (see design.mps.poolams.not-req.grey), but there's no way of */
+ /* (see ), but there's no way of */
/* doing that here (this can be called from RootScan, during flip). */
clientRef = *refIO;
@@ -1263,7 +1263,7 @@ Res AMSFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
} else {
++ss->preservedInPlaceCount; /* Size updated on reclaim */
if (SegRankSet(seg) == RankSetEMPTY && ss->rank != RankAMBIG) {
- /* design.mps.poolams.fix.to-black */
+ /* */
Addr clientNext, next;
ShieldExpose(PoolArena(pool), seg);
@@ -1276,7 +1276,7 @@ Res AMSFix(Pool pool, ScanState ss, Seg seg, Ref *refIO)
} else { /* turn it grey */
AMSWhiteGreyen(seg, i);
SegSetGrey(seg, TraceSetUnion(SegGrey(seg), ss->traces));
- /* mark it for scanning - design.mps.poolams.marked.fix */
+ /* mark it for scanning - */
amsseg->marksChanged = TRUE;
}
}
diff --git a/mps/code/poolams.h b/mps/code/poolams.h
index 461150543ec..23482b6459b 100644
--- a/mps/code/poolams.h
+++ b/mps/code/poolams.h
@@ -59,7 +59,7 @@ typedef struct AMSStruct {
AMSRingFunction allocRing; /* fn to get the ring to allocate from */
AMSSegsDestroyFunction segsDestroy;
AMSSegClassFunction segClass;/* fn to get the class for segments */
- Sig sig; /* design.mps.pool.outer-structure.sig */
+ Sig sig; /* */
} AMSStruct;
@@ -73,7 +73,7 @@ typedef struct AMSSegStruct {
Bool allocTableInUse; /* whether we use allocTable */
Index firstFree; /* 1st free grain, if allocTable is not used */
BT allocTable; /* set if grain is allocated */
- /* design.mps.poolams.colour.single */
+ /* */
Bool marksChanged; /* has been marked since last scan */
Bool ambiguousFixes; /* has been ambiguously marked since last scan */
Bool colourTablesInUse;/* whether we use the colour tables */
@@ -93,7 +93,7 @@ typedef struct AMSSegStruct {
/* macros for abstracting index/address computations */
-/* design.mps.poolams.addr-index.slow */
+/* */
/* only use when size is a multiple of the grain size */
#define AMSGrains(ams, size) ((size) >> (ams)->grainShift)
diff --git a/mps/code/poolawl.c b/mps/code/poolawl.c
index b911f6fc0cc..9c8d062d083 100644
--- a/mps/code/poolawl.c
+++ b/mps/code/poolawl.c
@@ -6,7 +6,7 @@
*
* DESIGN
*
- * .design: See design.mps.poolawl. This is Dylan-specific pool.
+ * .design: See . This is Dylan-specific pool.
*
*
* ASSUMPTIONS (about when to scan single references on accesses)
@@ -82,7 +82,7 @@ typedef Addr (*FindDependentMethod)(Addr object);
/* AWLStruct -- AWL pool structure
*
- * See design.mps.poolawl.poolstruct
+ * See
*/
typedef struct AWLStruct {
@@ -116,7 +116,7 @@ static Bool AWLCheck(AWL awl);
#define AWLSegSig ((Sig)0x519A3759) /* SIGnature AWL SeG */
-/* design.mps.poolawl.seg */
+/* */
typedef struct AWLSegStruct {
GCSegStruct gcSegStruct; /* superclass fields must come first */
BT mark;
@@ -685,7 +685,7 @@ static Res AWLWhiten(Pool pool, Trace trace, Seg seg)
buffer = SegBuffer(seg);
/* can only whiten for a single trace, */
- /* see design.mps.poolawl.fun.condemn */
+ /* see */
AVER(SegWhite(seg) == TraceSetEMPTY);
if (buffer == NULL) {
@@ -812,9 +812,9 @@ static Res awlScanObject(Arena arena, AWL awl, ScanState ss,
dependentObject = awl->findDependent(base);
dependent = SegOfAddr(&dependentSeg, arena, dependentObject);
if (dependent) {
- /* design.mps.poolawl.fun.scan.pass.object.dependent.expose */
+ /* */
ShieldExpose(arena, dependentSeg);
- /* design.mps.poolawl.fun.scan.pass.object.dependent.summary */
+ /* */
SegSetSummary(dependentSeg, RefSetUNIV);
}
@@ -873,7 +873,7 @@ static Res awlScanSinglePass(Bool *anyScannedReturn,
Index i; /* the index into the bit tables corresponding to p */
Addr objectLimit;
- /* design.mps.poolawl.fun.scan.pass.buffer */
+ /* */
if (p == bufferScanLimit) {
p = BufferLimit(buffer);
continue;
@@ -886,7 +886,7 @@ static Res awlScanSinglePass(Bool *anyScannedReturn,
}
hp = AddrAdd(p, format->headerSize);
objectLimit = (format->skip)(hp);
- /* design.mps.poolawl.fun.scan.pass.object */
+ /* */
if (scanAllObjects
|| (BTGet(awlseg->mark, i) && !BTGet(awlseg->scanned, i))) {
Res res = awlScanObject(arena, awl, ss, pool->format,
diff --git a/mps/code/poollo.c b/mps/code/poollo.c
index 9edae934e20..6ef1df6ccf9 100644
--- a/mps/code/poollo.c
+++ b/mps/code/poollo.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: See design.mps.poollo. This is a leaf pool class.
+ * .design: See . This is a leaf pool class.
*/
#include "mpsclo.h"
diff --git a/mps/code/poolmrg.c b/mps/code/poolmrg.c
index 27ee414a5d9..17c40313af0 100644
--- a/mps/code/poolmrg.c
+++ b/mps/code/poolmrg.c
@@ -5,7 +5,7 @@
*
* DESIGN
*
- * .design: See design.mps.poolmrg.
+ * .design: See .
*
* NOTES
*
@@ -17,7 +17,7 @@
*
* TRANSGRESSIONS
*
- * .addr.void-star: Breaks design.mps.type.addr.use all over the place,
+ * .addr.void-star: Breaks all over the place,
* accessing the segments acquired from SegAlloc with C pointers. It
* would not be practical to use ArenaPeek/Poke everywhere. Blocks
* acquired from ControlAlloc must be directly accessible from C, or else
@@ -110,10 +110,10 @@ static void MRGRefPartSetRef(Arena arena, RefPart refPart, Ref ref)
typedef struct MRGStruct {
PoolStruct poolStruct; /* generic pool structure */
- RingStruct entryRing; /* design.mps.poolmrg.poolstruct.entry */
- RingStruct freeRing; /* design.mps.poolmrg.poolstruct.free */
- RingStruct refRing; /* design.mps.poolmrg.poolstruct.refring */
- Size extendBy; /* design.mps.poolmrg.extend */
+ RingStruct entryRing; /* */
+ RingStruct freeRing; /* */
+ RingStruct refRing; /* */
+ Size extendBy; /* */
Sig sig; /* impl.h.mps.sig */
} MRGStruct;
@@ -144,14 +144,14 @@ typedef struct MRGRefSegStruct *MRGRefSeg;
typedef struct MRGLinkSegStruct {
SegStruct segStruct; /* superclass fields must come first */
- MRGRefSeg refSeg; /* design.mps.poolmrg.mrgseg.link.refseg */
+ MRGRefSeg refSeg; /* */
Sig sig; /* impl.h.misc.sig */
} MRGLinkSegStruct;
typedef struct MRGRefSegStruct {
GCSegStruct gcSegStruct; /* superclass fields must come first */
- RingStruct mrgRing; /* design.mps.poolmrg.mrgseg.ref.segring */
- MRGLinkSeg linkSeg; /* design.mps.poolmrg.mrgseg.ref.linkseg */
+ RingStruct mrgRing; /* */
+ MRGLinkSeg linkSeg; /* */
Sig sig; /* impl.h.misc.sig */
} MRGRefSegStruct;
@@ -174,7 +174,7 @@ static SegClass MRGRefSegClassGet(void);
*
* .link.nullref: During initialization of a link segment the refSeg
* field will be NULL. This will be initialized when the reference
- * segment is initialized. See design.mps.poolmrg.mrgseg.link.refseg.
+ * segment is initialized. See .
*/
static Bool MRGLinkSegCheck(MRGLinkSeg linkseg)
{
@@ -268,7 +268,7 @@ static Res MRGRefSegInit(Seg seg, Pool pool, Addr base, Size size,
if (res != ResOK)
return res;
- /* design.mps.seg.field.rankset.start, .improve.rank */
+ /* , .improve.rank */
SegSetRankSet(seg, RankSetSingle(RankFINAL));
RingInit(&refseg->mrgRing);
@@ -321,7 +321,7 @@ static Count MRGGuardiansPerSeg(MRG mrg)
}
-/* design.mps.poolmrg.guardian.assoc */
+/* */
#define refPartOfIndex(refseg, index) \
((RefPart)SegBase(RefSeg2Seg(refseg)) + (index))
@@ -387,7 +387,7 @@ static void MRGGuardianInit(MRG mrg, Link link, RefPart refPart)
RingInit(&link->the.linkRing);
link->state = MRGGuardianFREE;
RingAppend(&mrg->freeRing, &link->the.linkRing);
- /* design.mps.poolmrg.free.overwrite */
+ /* */
MRGRefPartSetRef(PoolArena(&mrg->poolStruct), refPart, 0);
}
@@ -465,7 +465,7 @@ static MessageClassStruct MRGMessageClassStruct = {
MessageNoGCLiveSize, /* GCLiveSize */
MessageNoGCCondemnedSize, /* GCCondemnedSize */
MessageNoGCNotCondemnedSize, /* GCNoteCondemnedSize */
- MessageClassSig /* design.mps.message.class.sig.double */
+ MessageClassSig /* */
};
@@ -682,7 +682,7 @@ static void MRGFinish(Pool pool)
mrg->sig = SigInvalid;
RingFinish(&mrg->refRing);
- /* design.mps.poolmrg.trans.no-finish */
+ /* */
}
@@ -705,7 +705,7 @@ Res MRGRegister(Pool pool, Ref ref)
arena = PoolArena(pool);
AVERT(Arena, arena);
- /* design.mps.poolmrg.alloc.grow */
+ /*