marker thread decides to
return some of its local mark stack to the global one.  This
is done if the global queue appears to be running low, or if
the local stack is in danger of overflowing.  It does require
synchronization, but should be relatively rare.
<P>
The sequential marking code is reused to process local mark stacks.
Hence the amount of additional code required for parallel marking
is minimal.
<P>
It should be possible to use generational collection in the presence of the
parallel collector, by ca