Improving the Performance of Object-Oriented Languages with Dynamic Predication of Indirect Jumps

Download Now
Provided by: Association for Computing Machinery
Topic: Hardware
Format: PDF
Indirect jump instructions are used to implement increasingly common 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.
Download Now

Find By Topic