To-space is divided into scanned and unscanned pages,where scanned pages only contain pointers to to-space,but unscanned pages can contain pointers to from-space (see Figure1).The address translation hardware protects the mutator from seeing pointers into from-space by trapping ac-cesses to unscanned pages.The trap handler scans the page by translating cesses to unscanned pages. The trap handler scans the page by translating each pointer from from-space to to-space,and then resumes the mutator.Translating a pointer to an uncopied object requires first copying the object to to-space,and then using the address of its copy.Thus,scanning a page can require copying at worst all the objects on the page.
The address translation hardware cannot protect each word of memory separately,but instead protects each page of memory.Thus,all the objects stored on a page must be scanned at once.Pages are not only scanned when the mutator needs to access them,but can also be scanned by a separate process that runs in parallel with the mutator.