Abstract. Partial redundancy elimination can reduce the number of loads corresponding to field and array accesses in Java programs. The reuse of values loaded from memory at subsequent occurrences of load expressions must be done with care: Precise exceptions and the potential of side effects through method invocations and concurrent modifications in multi-threaded programs must be considered. This work focuses on the effect of concurrency on the load optimization. Unlike previous approaches, our system determines accurate information about side effects and concurrency through a whole-program analysis. Partial redundancy elimination is extended to exploit this information and to broaden the optimization scope. There are three main results: ...
This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in J...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
Side-effect analysis gives information about the set of locations that a statement may read or modi...
In the context of an object-oriented programming language such as Java, the ubiquitous use of instan...
Abstract—Load elimination is a classical compiler transfor-mation that is increasing in importance f...
Abstract. We present a set of techniques for reducing the memory consumption of object-oriented prog...
AbstractIn this paper, we describe three novel analyses for eliminating unnecessary synchronization ...
We present a set of techniques for reducing the memory consumption of object-oriented programs. Thes...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
The stack model of execution uses a stack to hold temporary results during evaluation of a program. ...
It is often difficult to analyse why a program executes more slowly than intended. This is particula...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in J...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
Side-effect analysis gives information about the set of locations that a statement may read or modi...
In the context of an object-oriented programming language such as Java, the ubiquitous use of instan...
Abstract—Load elimination is a classical compiler transfor-mation that is increasing in importance f...
Abstract. We present a set of techniques for reducing the memory consumption of object-oriented prog...
AbstractIn this paper, we describe three novel analyses for eliminating unnecessary synchronization ...
We present a set of techniques for reducing the memory consumption of object-oriented programs. Thes...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
The stack model of execution uses a stack to hold temporary results during evaluation of a program. ...
It is often difficult to analyse why a program executes more slowly than intended. This is particula...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in J...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...