The algorithm needs no stack and only two pointers outside of the from-space and to-space: a pointer to the beginning of free space in the to-space, and a pointer to the next word in to-space that needs to be examined.
This algorithm necessitates no auxiliary data structure and relies on just two pointers outside of the from-space and to-space: a pointer to the starting point of unused space in the to-space, and a pointer to the next element in to-space that must be evaluated.