|
|
|
@ -17,8 +17,7 @@ relative age of the objects, so that we can promote only the oldest
|
|
|
|
|
objects when required.
|
|
|
|
|
|
|
|
|
|
In addition to the thread-local heaps, there is a global heap. The
|
|
|
|
|
garbage collector for this heap will use the method invented by
|
|
|
|
|
Kermany et al \cite{Kermany:2006:CCI:1133981.1134023}. It is also a
|
|
|
|
|
sliding garbage collector, except that it has some very good features,
|
|
|
|
|
including parallel and concurrent execution. These features allow us
|
|
|
|
|
to run the global garbage collector in multiple separate threads.
|
|
|
|
|
garbage collector for this heap will use a combination of the
|
|
|
|
|
traditional \emph{mark-and-sweep} collector and an ordinary memory
|
|
|
|
|
allocator, similar to the one used by the \clanguage{} functions
|
|
|
|
|
\texttt{malloc} and \texttt{free}.
|
|
|
|
|