Patent ID: 8473529

Claim:
A computer-implemented process for single pass marking of finalizable objects, the computer-implemented process comprising: marking strong roots in a first data structure representing each possible object address on a heap; marking finalizable roots in a second data structure representing each possible object address on the heap; marking phantom reachable objects in at least one of the first data structure and a phantom mark map; providing a strong work stack representing objects determined to be strongly reachable, and a finalizable work stack representing objects determined to be finalizable-reachable; determining whether the strong work stack is empty; responsive to a determination that the strong work stack is empty, determining whether the finalizable work stack is empty; and responsive to a determination that the finalizable work stack is empty, synchronizing threads that are configured to scan objects in the strong work stack and the finalizable work stack, finalizing the finalizable roots, and merging the first and second data structures.