Single pass marking of finalizable objects
AssigneeInternational Business Machines Corporation
InventorsPeter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
Life of this patent
Estimating the term…
Abstract
An illustrative embodiment of a computer-implemented process for single pass marking of finalizable objects marks strong roots, marks finalizable roots and determines whether a strong work stack is empty. Responsive to a determination the strong work stack is empty the computer-implemented process determines whether a finalizable work stack is empty. Responsive to a determination the finalizable work stack is empty, synchronize threads, the computer-implemented process finalizes finalizable roots and merges mark maps to finish parallel marking.
Claims20
A computer-implemented process for single pass marking of finalizable objects, the computer-implemented process comprising:
- marking strong roots;
- marking finalizable roots;
- determining whether a strong work stack is empty;
- responsive to a determination the strong work stack is empty, determining whether a finalizable work stack is empty;
- responsive to a determination the finalizable work stack is empty, synchronizing threads;
- finalizing finalizable roots;
- merging mark maps to finish parallel marking.
A computer program product for single pass marking of finalizable objects, the computer program product comprising:
- a computer recordable-type media containing computer executable program code stored thereon, the computer executable program code comprising:
- computer executable program code for marking strong roots;
- computer executable program code for marking finalizable roots;
- computer executable program code for determining whether a strong work stack is empty;
- computer executable program code responsive to a determination the strong work stack is empty, for determining whether a finalizable work stack is empty;
- computer executable program code responsive to a determination the finalizable work stack is empty, for synchronizing threads;
- computer executable program code for finalizing finalizable roots;
- computer executable program code for merging mark maps to finish parallel marking.
An apparatus for single pass marking of finalizable objects, the apparatus comprising:
- a communications fabric;
- a memory connected to the communications fabric, wherein the memory contains computer executable program code;
- a communications unit connected to the communications fabric;
- an input/output unit connected to the communications fabric;
- a display connected to the communications fabric;
- and
- a processor unit connected to the communications fabric, wherein the processor unit executes the computer executable program code to direct the apparatus to:
- mark strong roots;
- mark finalizable roots;
- determine whether a strong work stack is empty;
- responsive to a determination the strong work stack is empty, determine whether a finalizable work stack is empty;
- responsive to a determination the finalizable work stack is empty, synchronize threads;
- finalize finalizable roots;
- merge mark maps to finish parallel marking.
Dependencies are inferred from the claim text.