Skip to Content
Find More Like This
Return to Search

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

United States Patent

July 23, 2013
View the Complete Patent at the US Patent & Trademark Office
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.
Gschwind; Michael K. (Chappaqua, NY)
International Business Machines Corporation (Armonk, NY)
12/ 714,877
March 1, 2010
This invention was made with United States Government support under Contract No. B554331 awarded by the Department of Energy. The Government has certain rights in this invention.