A garbage collection method where memory is divided into two equal halves, known as the "from space" and "to space". Garbage collection copies active cells from the from space to the to space and leaves behind an invisible pointer (an "indirection") from the old position to the new copy. Once all active cells have been copied in one direction, the spaces are swapped and the process repeated in the opposite direction.