Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations
A technology for executing code and code, applied in the field of active code optimization mechanism, which can solve the problems of overthrowing the normal behavior of the compiler, indecision, not knowing whether specific semantics are necessary, and wrong operation of transformed code
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment Construction
[0025] The illustrative embodiments provide a mechanism that enables aggressive compiler optimizations in systems that support rollback of changes caused by aggressively compiled code (eg, systems that use transactional memory structures or other types of atomic operations). In some demonstrative embodiments, the mechanisms of the illustrative embodiments utilize the atomic behavior of the system (e.g., that of a transaction-based system) to determine whether aggressive compiler optimizations will result in incorrect operation of transformed and optimized code (e.g., Boundary condition violation, thread-level race condition, etc.), if the determination is positive, the changes caused by the execution of the aggressively optimized code are rolled back and replaced with a less optimized or non-optimized version of the code. Although a transaction-based system will be used as the basis for the description of the illustrative embodiments below, it should be understood that the inve...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 