-\end{itemize}
-
-\subsection{Stack Objects}
-\label{sec:STACK_OBJECT}
-\label{sec:stacks}
-
-\ToDo{Merge this in with the section on TSOs}
-
-These are ``stack objects,'' which are used in the threaded world as
-the stack for each thread is allocated from the heap in smallish
-chunks. (The stack in the sequential world is allocated outside of
-the heap.)
-
-Each reduction thread has to have its own stack space. As there may
-be many such threads, and as any given one may need quite a big stack,
-a naive give-'em-a-big-stack-and-let-'em-run approach will cost a {\em
-lot} of memory.
-
-Our approach is to give a thread a small stack space, and then link
-on/off extra ``chunks'' as the need arises. Again, this is a
-storage-management problem, and, yet again, we choose to graft the
-whole business onto the existing heap-management machinery. So stack
-objects will live in the heap, be garbage collected, etc., etc..
+\item[\emph{Stack Info}] Various fields contain information on the
+stack: its current size, its maximum size (to avoid infinite loops
+overflowing the memory), the current stack pointer (\emph{Sp}), the
+current stack update frame pointer (\emph{Su}), and the stack limit
+(\emph{SpLim}). The latter three fields are loaded into the relevant
+registers when the thread is run.