The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Mar. 23, 2021

Filed:

Jan. 07, 2019
Applicant:

International Business Machines Corporation, Armonk, NY (US);

Inventors:

Vijay Sundaresan, North York, CA;

Andrew J. Craik, North York, CA;

Younes Manton, Toronto, CA;

Yi Zhang, Markham, CA;

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 11/14 (2006.01); G06F 12/02 (2006.01); G06F 8/41 (2018.01); G06F 9/455 (2018.01); G06F 9/46 (2006.01);
U.S. Cl.
CPC ...
G06F 11/1474 (2013.01); G06F 8/41 (2013.01); G06F 9/4552 (2013.01); G06F 9/467 (2013.01); G06F 12/0261 (2013.01); G06F 2201/82 (2013.01); G06F 2212/1044 (2013.01);
Abstract

An approach is provided for optimizing reference counting. Responsive to receiving code representing a program by a just-in-time compiler, one or more processors in computing machinery supporting transactional memory identify regions of the code having respective sets of reference counting operations executed dynamically. Identifying the regions of the code uses an analysis of semantics of the code. The identified regions are enclosed in respective transactions. The code that was to perform atomic operations, including the reference counting operations in the identified regions, is transformed into new code that performs non-atomic operations that are variants of the atomic operations. Fallback code sequences are inserted into the transformed code. In a non-transactional manner and in response to detections of failures in respective transactions, the fallback code sequences execute original code sequences that were in the code prior to the transformation of the code. The original code sequences include respective multiple atomic operations.


Find Patent Forward Citations

Loading…