In this dissertation, we show how a relatively simple and extremely fast interprocedural optimization algorithm can be used to optimize many of the expensive features of statically typed, object-oriented languages-- in particular, C++ and Java. We present a new program analysis algorithm, Rapid Type Analysis, and show that it is fast both in theory and in practice, and significantly out-performs other "fast " algorithms for virtual function call resolution. We present optimization algorithms for the resolution of virtual function calls, conversion of virtual inheritance to direct inheritance, elimination of dynamic casts and dynamic type checks, and removal of object synchronization. These algorithms are all presented with...
Software development for parallel computers has been recognized as one of the bottlenecks preventing...
Abstract. Compilers for Object-Oriented Languages optimize dynamic message sends through run-time ty...
In the past, object-oriented language designers and programmers have been forced to choose between p...
High level programming language features have long been seen as improving programmer efficiency at s...
The structure of object-oriented programs differs from that of procedural programs, requiring specia...
To use modern hardware effectively, compilers need extensive control-flow information. Unfortunately...
1 Introduction A major advantage of object-oriented languages is abstraction. The most important lan...
The runtime performance of object-oriented languages often suffers due to the overhead of dynamic di...
Object-oriented languages have suffe=d from poor perfor-mance caused by frequent and slow dynamicall...
International audienceReaching the best level of runtime performance from a high-level,object-orient...
Abstract. Object-oriented languages have suffered from poor performance caused by frequent and slow ...
Previously, techniques such as class hierarchy analysis and profile-guided receiver class prediction...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...
The Java programming environment uses a highly-developed virtual machine (VM) to execute its program...
Gaining the code re-use advantages of object oriented programming requires dynamic function binding,...
Software development for parallel computers has been recognized as one of the bottlenecks preventing...
Abstract. Compilers for Object-Oriented Languages optimize dynamic message sends through run-time ty...
In the past, object-oriented language designers and programmers have been forced to choose between p...
High level programming language features have long been seen as improving programmer efficiency at s...
The structure of object-oriented programs differs from that of procedural programs, requiring specia...
To use modern hardware effectively, compilers need extensive control-flow information. Unfortunately...
1 Introduction A major advantage of object-oriented languages is abstraction. The most important lan...
The runtime performance of object-oriented languages often suffers due to the overhead of dynamic di...
Object-oriented languages have suffe=d from poor perfor-mance caused by frequent and slow dynamicall...
International audienceReaching the best level of runtime performance from a high-level,object-orient...
Abstract. Object-oriented languages have suffered from poor performance caused by frequent and slow ...
Previously, techniques such as class hierarchy analysis and profile-guided receiver class prediction...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...
The Java programming environment uses a highly-developed virtual machine (VM) to execute its program...
Gaining the code re-use advantages of object oriented programming requires dynamic function binding,...
Software development for parallel computers has been recognized as one of the bottlenecks preventing...
Abstract. Compilers for Object-Oriented Languages optimize dynamic message sends through run-time ty...
In the past, object-oriented language designers and programmers have been forced to choose between p...