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:
Sep. 10, 2013

Filed:

Mar. 31, 2011
Applicants:

Mark S. Moir, Wllington, NZ;

David Dice, Foxboro, MA (US);

Srikanta N. Tirthapura, Ames, IA (US);

Inventors:

Mark S. Moir, Wllington, NZ;

David Dice, Foxboro, MA (US);

Srikanta N. Tirthapura, Ames, IA (US);

Assignee:

Oracle International Corporation, Redwood City, CA (US);

Attorneys:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/45 (2006.01); G06F 9/46 (2006.01);
U.S. Cl.
CPC ...
Abstract

Systems and methods for optimizing code may use transactional memory to optimize one code section by forcing another code section to execute atomically. Application source code may be analyzed to identify instructions in one code section that only need to be executed if there exists the possibility that another code section (e.g., a critical section) could be partially executed or that its results could be affected by interference. In response to identifying such instructions, alternate code may be generated that forces the critical section to be executed as an atomic transaction, e.g., using best-effort hardware transactional memory. This alternate code may replace the original code or may be included in an alternate execution path that can be conditionally selected for execution at runtime. The alternate code may elide the identified instructions (which are rendered unnecessary by the transaction) by removing them, or by including them in the alternate execution path.


Find Patent Forward Citations

Loading…