Sciweavers

POPL
1994
ACM

Reducing Indirect Function call Overhead in C++ Programs

14 years 3 months ago
Reducing Indirect Function call Overhead in C++ Programs
Modern computer architectures increasingly depend on mechanisms that estimate future control flow decisions to increase performance. Mechanisms such as speculative execution and prefetching are becoming standard architectural mechanisms that rely oncontrol flow prediction to prefetch and speculatively execute future instructions. At the same time, computer programmers are increasingly turning to object-oriented languages to increase their productivity. These languages commonly use run time dispatching to implement object polymorphism. Dispatchingis usually implementedusing an indirect function call, which presents challenges to existing control flow prediction techniques. We have measured the occurrence of indirect function calls in a collection of C++ programs. We show that, although it is more important to predict branchesaccurately,indirect call prediction is also an important factor in some programs and will grow in importance with the growth of object-oriented programming. We exa...
Brad Calder, Dirk Grunwald
Added 10 Aug 2010
Updated 10 Aug 2010
Type Conference
Year 1994
Where POPL
Authors Brad Calder, Dirk Grunwald
Comments (0)