Garbage collection in heterogeneous multiprocessor systems is provided. In
some illustrative embodiments, garbage collection operations are
distributed across a plurality of the processors in the heterogeneous
multiprocessor system. Portions of a global mark queue are assigned to
processors of the heterogeneous multiprocessor system along with
corresponding chunks of a shared memory. The processors perform garbage
collection on their assigned portions of the global mark queue and
corresponding chunk of shared memory marking memory object references as
reachable or adding memory object references to a non-local mark stack.
The marked memory objects are merged with a global mark stack and memory
object references in the non-local mark stack are merged with a "to be
traced" portion of the global mark queue for re-checking using a garbage
collection operation.