Patent ID: 7310655

Claim:
A computer-implemented method of marking memory objects for collecting garbage for an executing application in a computer system, which when executed by the computer system causes the computer system to execute said method comprising: pausing the executing application; cloning root information when the executing application is paused, the root information indicating live memory objects, wherein cloning root information includes locating program root objects in memory stacks and storing the program root objects, each live memory object being traceable back to one of the stored program root objects; restarting the application after cloning the root information; marking memory objects that are reachable from the stored program root objects using the cloned root information while the application is executing to indicate that the reachable memory objects are not to be collected, the reachable memory objects including memory objects that are live during marking and memory objects that become garbage after cloning the root information; and after marking the reachable memory objects, collecting unmarked memory objects left unmarked during the act of marking.