Dynamically-dispatched calls often limit the performance of object-oriented programs since object-oriented programming encourages factoring code into small, reusable units, thereby increasing the frequency of these expensive operations. Frequent calls not only slow down execution with the dispatch overhead per se, but more importantly they hinder optimization by limiting the range and effectiveness of standard global optimizations. In particular, dynamically-dispatched calls prevent standard interprocedural optimizations that depend on the availability of a static call graph. The SELF implementation described here offers two novel approaches to optimization. Type feedback speculatively inlines dynamically-dispatched calls based on profile i...
In the past few years, code optimization has become a major field of research. Many efforts have bee...
The primary reason for performing compiler optimizations before running the program is that they are...
International audienceParallel applications used to be executed alone until their termination on par...
Abstract: Object-oriented programs are difficult to optimize because they execute many dynamically-d...
This paper presents dynamic feedback, a technique that enables computations to adapt dynamically to ...
The runtime performance of object-oriented languages often suffers due to the overhead of dynamic di...
Dynamic dispatching is a major source of run-time overhead in object-oriented languages, due both to...
In this dissertation, we show how a relatively simple and extremely fast interprocedural optimizatio...
In the past, object-oriented language designers and programmers have been forced to choose between p...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
High level programming language features have long been seen as improving programmer efficiency at s...
Compile-time optimization is often limited by a lack of target machine and input data set knowledge....
In the past, object-oriented language designers and program-mers have been forced to choose between ...
An open-ended and flexible object-oriented language ideally requires its compiler to optimise code a...
International audienceReaching the best level of runtime performance from a high-level,object-orient...
In the past few years, code optimization has become a major field of research. Many efforts have bee...
The primary reason for performing compiler optimizations before running the program is that they are...
International audienceParallel applications used to be executed alone until their termination on par...
Abstract: Object-oriented programs are difficult to optimize because they execute many dynamically-d...
This paper presents dynamic feedback, a technique that enables computations to adapt dynamically to ...
The runtime performance of object-oriented languages often suffers due to the overhead of dynamic di...
Dynamic dispatching is a major source of run-time overhead in object-oriented languages, due both to...
In this dissertation, we show how a relatively simple and extremely fast interprocedural optimizatio...
In the past, object-oriented language designers and programmers have been forced to choose between p...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
High level programming language features have long been seen as improving programmer efficiency at s...
Compile-time optimization is often limited by a lack of target machine and input data set knowledge....
In the past, object-oriented language designers and program-mers have been forced to choose between ...
An open-ended and flexible object-oriented language ideally requires its compiler to optimise code a...
International audienceReaching the best level of runtime performance from a high-level,object-orient...
In the past few years, code optimization has become a major field of research. Many efforts have bee...
The primary reason for performing compiler optimizations before running the program is that they are...
International audienceParallel applications used to be executed alone until their termination on par...