-----------------------------
If all contexts were independent, it'd be hard to keep track of them,
-especially in error cases. That is solved this by creating a tree of
+especially in error cases. That is solved by creating a tree of
"parent" and "child" contexts. When creating a memory context, the
new context can be specified to be a child of some existing context.
A context can have many children, but only one parent. In this way
the memory context mechanism is a pointer to its context, so we're not
constraining context-type designers very much.
-Given this, routines like pfree their corresponding context with an
-operation like (although that is usually encapsulated in
+Given this, routines like pfree determine their corresponding context
+with an operation like (although that is usually encapsulated in
GetMemoryChunkContext())
MemoryContext context = *(MemoryContext*) (((char *) pointer) - sizeof(void *));