DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations

Abstract

Mechanisms for aggressively optimizing computer code are provided. With these mechanisms, a compiler determines an optimization to apply to a portion of source code and determines if the optimization as applied to the portion of source code will result in unsafe optimized code that introduces a new source of exceptions being generated by the optimized code. In response to a determination that the optimization is an unsafe optimization, the compiler generates an aggressively compiled code version, in which the unsafe optimization is applied, and a conservatively compiled code version in which the unsafe optimization is not applied. The compiler stores both versions and provides them for execution. Mechanisms are provided for switching between these versions during execution in the event of a failure of the aggressively compiled code version. Moreover, predictive mechanisms are provided for predicting whether such a failure is likely.

Inventors:
Issue Date:
Research Org.:
International Business Machines Corp., Armonk, NY (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1088674
Patent Number(s):
8495607
Application Number:
12/714,877
Assignee:
International Business Machines Corporation (Armonk, NY)
Patent Classifications (CPCs):
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
DOE Contract Number:  
B554331
Resource Type:
Patent
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Gschwind, Michael K. Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations. United States: N. p., 2013. Web.
Gschwind, Michael K. Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations. United States.
Gschwind, Michael K. Tue . "Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations". United States. https://www.osti.gov/servlets/purl/1088674.
@article{osti_1088674,
title = {Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations},
author = {Gschwind, Michael K},
abstractNote = {Mechanisms for aggressively optimizing computer code are provided. With these mechanisms, a compiler determines an optimization to apply to a portion of source code and determines if the optimization as applied to the portion of source code will result in unsafe optimized code that introduces a new source of exceptions being generated by the optimized code. In response to a determination that the optimization is an unsafe optimization, the compiler generates an aggressively compiled code version, in which the unsafe optimization is applied, and a conservatively compiled code version in which the unsafe optimization is not applied. The compiler stores both versions and provides them for execution. Mechanisms are provided for switching between these versions during execution in the event of a failure of the aggressively compiled code version. Moreover, predictive mechanisms are provided for predicting whether such a failure is likely.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Tue Jul 23 00:00:00 EDT 2013},
month = {Tue Jul 23 00:00:00 EDT 2013}
}

Works referenced in this record:

System for software registration
patent, February 1996


Optimized Scalar Promotion with Load and Splat SIMD Instructions
patent-application, December 2009


Systems and methods for injecting an exception into a target thread
patent, September 2006


Transactional memory: architectural support for lock-free data structures
conference, January 1993


Performance pathologies in hardware transactional memory
conference, January 2007


Compiler support for optimizing decomposed software transactional memory operations
patent-application, July 2007