Sciweavers

ASPLOS
2008
ACM

Improving the performance of object-oriented languages with dynamic predication of indirect jumps

13 years 6 months ago
Improving the performance of object-oriented languages with dynamic predication of indirect jumps
Indirect jump instructions are used to implement increasinglycommon programming constructs such as virtual function calls, switch-case statements, jump tables, and interface calls. The performance impact of indirect jumps is likely to increase because indirect jumps with multiple targets are difficult to predict even with specialized hardware. This paper proposes a new way of handling hard-to-predict indirect jumps: dynamically predicating them. The compiler (static or dynamic) identifies indirect jumps that are suitable for predication along with their control-flow merge (CFM) points. The hardware predicates the instructions between different targets of the jump and its CFM point if the jump turns out to be hard-to-predict at run time. If the jump would actually have been mispredicted, its dynamic predication eliminates a pipeline flush, thereby improving performance. Our evaluations show that Dynamic Indirect jump Predication (DIP) improves the performance of a set of object-oriente...
José A. Joao, Onur Mutlu, Hyesoon Kim, Rish
Added 12 Oct 2010
Updated 12 Oct 2010
Type Conference
Year 2008
Where ASPLOS
Authors José A. Joao, Onur Mutlu, Hyesoon Kim, Rishi Agarwal, Yale N. Patt
Comments (0)