Write barrier elision for reference arrays
AssigneeInternational Business Machines Corporation
InventorsCharles Robert Gracie, Aleksandar Micic, Ryan Andrew Sciampacone
Life of this patent
Estimating the term…
Abstract
A computer-implemented process for write barrier elision during program execution receives a request to overwrite a reference, determines whether garbage collection is active and responsive to a determination that garbage collection is active, determines whether a reference object has been scanned. Responsive to a determination that the reference object has not been scanned set a mark bit for the reference object in a modified mark map, the reference object is scanned and a scan bit is set for the reference object in the modified mark map.
Claims17
A computer-implemented process for write barrier elision during program execution, the computer-implemented process comprising:
- receiving a request to overwrite a reference;
- determining whether garbage collection is active;
- responsive to a determination that garbage collection is active, determining whether a reference object has been scanned;
- responsive to a determination that the reference object has not been scanned setting a mark bit for the reference object in a modified mark map, the modified mark map being created from a mark map in which bits not used for marking are used for maintaining scan bits;
- scanning the reference object;
- setting a scan bit for the reference object in the modified mark map;
- and
- responsive to a determination that the reference object has been scanned, processing the request without a write barrier check.
A computer program product for write barrier elision during program execution, the computer program product comprising:
- a non-transitory computer-readable storage medium containing computer executable program code stored thereon, the computer executable program code comprising:
- computer executable program code for receiving a request to overwrite a reference;
- computer executable program code for determining whether garbage collection is active;
- computer executable program code for responsive to a determination that garbage collection is active, for determining whether a reference object has been scanned;
- computer executable program code for responsive to a determination that the reference object has not been scanned, for setting a bit mark for the reference object in a modified mark map, the modified mark map being created from a mark map in which bits not used for marking are used for maintaining scan bits;
- computer executable program code for scanning the reference object;
- computer executable program code for setting a scan bit for the reference object in the modified mark map;
- and
- computer executable code for responsive to a determination that the reference object has been scanned, processing the request without a write barrier check.
An apparatus for write barrier elision during program execution, the apparatus comprising:
- a processor unit and memory, connected by a communications fabric, in which the processor unit executes computer executable program code stored in the memory to direct the apparatus to:
- receive a request to overwrite a reference;
- determine whether garbage collection is active;
- responsive to a determination that garbage collection is active, determine whether a reference object has been scanned;
- responsive to a determination that the reference object has not been scanned set a mark bit for the reference object in a modified mark map, the modified mark map being created from a mark map in which bits not used for marking are used for maintaining scan bits;
- scan the reference object;
- set a scan bit for the reference object in the modified mark map;
- and
- responsive to a determination that the reference object has been scanned, process the request without a write barrier check.
Dependencies are inferred from the claim text.