De-virtualizing virtual Function Calls using various Type Analysis Techniques in Object-Oriented Programming Languages.

Object-oriented paradigm has become increasingly popular from past few decades due to their incredible and exciting features. The features like polymorphism, inheritance, abstraction, dynamic binding etc. made object-oriented languages widely acceptable. However at the same time the same features are responsible for degrading the performance of programs written in these languages. These features are responsible for making object-oriented programs harder to optimize than the programs written in the languages like C and FORTRAN. One of the main factors that make object-oriented languages slower is the frequent use of indirect calls to methods (virtual functions). to address the problem of how to convert virtual function calls to direct calls and to target where is the possibility of inlining, a number of techniques and algorithms have been designed and put into practical use in many of the optimizing compilers. In this work we will we put forward a study about the reducing or elimination of virtual function calls for statically typed object-oriented languages using various proposed Analysis algorithms. This study will bring to the front the best and worst about various proposed algorithms for resolution of virtual function call methods.