Side-effect analysis gives information about the set of locations that a statement may read or modify. This analysis can provide information useful in a compiler for performing aggressive optimizations. The impact of the use of side-effect analysis in compiler optimizations has been studied for programming languages such as Modula-3 and C, but no thorough investigation for Java has been done. We present a study of whether side-effect information improves performance in Java just-in-time (JIT) compilers, and if so, what level of analysis precision is needed. We also analyze the optimizations and benchmarks that benefit most from side-effect analysis.We used SPARK, the inter-procedural analysis component of the SOOT Java analysis and...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
Dynamic class loading is an integral part of the Java programming language, offering a number advant...
The memory hierarchy in modern architectures continues to be a major performance bottleneck. Many ex...
In the context of an object-oriented programming language such as Java, the ubiquitous use of instan...
Abstract. Partial redundancy elimination can reduce the number of loads corresponding to field and a...
Compiler writers usually follow some known rules of thumb on the effectiveness of optimizations when...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
Many compiler analyses and optimizations require precise information about the behaviour of pointers...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Many compiler analyses and optimizations require precise information about the behaviour of pointer...
The goal of points-to analysis for Java is to determine the set of objects pointed to by a reference...
We present a new limited form of interprocedural analysis called field analysis that can be used by ...
We present a new limited form of interprocedural analy-sis called eld analysis that can be used by a...
We present a new limited form of interprocedural analysis called field analysis that can be used by ...
Many new Java runtime optimizations report relatively small, single-digit performance improvements. ...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
Dynamic class loading is an integral part of the Java programming language, offering a number advant...
The memory hierarchy in modern architectures continues to be a major performance bottleneck. Many ex...
In the context of an object-oriented programming language such as Java, the ubiquitous use of instan...
Abstract. Partial redundancy elimination can reduce the number of loads corresponding to field and a...
Compiler writers usually follow some known rules of thumb on the effectiveness of optimizations when...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
Many compiler analyses and optimizations require precise information about the behaviour of pointers...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Many compiler analyses and optimizations require precise information about the behaviour of pointer...
The goal of points-to analysis for Java is to determine the set of objects pointed to by a reference...
We present a new limited form of interprocedural analysis called field analysis that can be used by ...
We present a new limited form of interprocedural analy-sis called eld analysis that can be used by a...
We present a new limited form of interprocedural analysis called field analysis that can be used by ...
Many new Java runtime optimizations report relatively small, single-digit performance improvements. ...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
Dynamic class loading is an integral part of the Java programming language, offering a number advant...
The memory hierarchy in modern architectures continues to be a major performance bottleneck. Many ex...